ビニングコンポーネントは、連続データを複数の離散的な間隔に変換することで、特徴量の離散化を実行します。このコンポーネントは、等頻度ビニング、等幅ビニング、および自動ビニングをサポートしています。
コンポーネントの構成
以下のいずれかの方法で、ビニングコンポーネントを構成できます。
方法 1:UI を使用する
Designer ワークフロー画面で、コンポーネントのパラメーターを構成します。
|
タブ |
パラメーター |
説明 |
|
フィールド設定 |
特徴量列 |
STRING、BIGINT、DOUBLE のデータの型をサポートします。 |
|
ラベル列 |
二項分類のみサポートされます。 |
|
|
正の値 |
このパラメーターは、ラベル列が指定されている場合にのみ適用されます。 |
|
|
ビニングパラメーターソース |
有効な値:パラメーター設定項目のパラメーター および 手動ビニングまたはカスタム JSON。 |
|
|
未選択の特徴量列を保持 |
カスタムビニングを使用し、はい を選択した場合、特徴量列で選択されていない列も保持されます。それ以外の場合は削除されます。 |
|
|
ビニングおよび制約 JSON のアップロード |
このパラメーターは、ビニングパラメーターソースが手動ビニングまたはカスタム JSONに設定されている場合にのみ適用されます。 |
|
|
パラメーター設定 |
ビン |
このパラメーターを 10 に設定すると、連続特徴量が 10 個の間隔に離散化されます。 |
|
カスタムビン数 |
1 つ以上の列に対してビン数を指定できます。これにより、グローバルなビン数が上書きされます。列選択に含まれていない列に対してビン数をカスタマイズした場合、その列も計算に含まれます。たとえば、col0 および col1 を選択し、カスタムビニングを col0:3,col2:5 と定義し、グローバルな ビン数 を 10 とした場合、計算は col0:3,col1:10,col2:5 の構成に基づいて実行されます。 値は次の形式で指定します:列名1:ビン数,列名2:ビン数。 |
|
|
カスタム離散値しきい値 |
1 つ以上の列における離散値のカスタム頻度しきい値を指定します。このしきい値未満の頻度を持つ値は else ビンに割り当てられます。この設定は、グローバルな離散値しきい値を上書きします。形式は 列名:しきい値 です(例:col0:3)。 |
|
|
間隔タイプ |
左開区間・右閉区間 または 左閉区間・右開区間 をサポートします。 |
|
|
ビニングモード |
有効な値:等頻度、等幅、および 自動ビニング。 |
|
|
離散値しきい値 |
離散値の頻度がこのしきい値未満の場合、その値は else ビンに割り当てられます。 |
|
|
チューニング |
コア数 |
ジョブに使用する CPU コア数です。デフォルトでは、システムが自動的にコアを割り当てます。 |
|
コアあたりのメモリサイズ |
コアあたりのメモリサイズ(単位:MB)です。デフォルトでは、システムが自動的にメモリを割り当てます。 |
方法 2:PAI コマンドを使用する
PAI コマンドを使用してコンポーネントのパラメーターを構成します。SQL Script コンポーネントを使用して PAI コマンドを実行できます。詳細については、「SQL Script」をご参照ください。
PAI -name binning
-project algo_public
-DinputTableName=input
-DoutputTableName=output
|
パラメーター |
説明 |
必須 |
デフォルト |
|
inputTableName |
入力テーブルの名前です。 |
はい |
N/A |
|
outputTableName |
出力テーブルの名前です。 |
はい |
N/A |
|
selectedColNames |
ビニング対象の入力テーブル内の列です。 |
いいえ |
ラベル列を除くすべての列。ラベル列が指定されていない場合は、すべての列が選択されます。 |
|
labelColName |
ラベル列です。 |
いいえ |
N/A |
|
validTableName |
|
いいえ |
空 |
|
validTablePartitions |
検証テーブルから選択するパーティションです。 |
いいえ |
テーブル全体 |
|
inputTablePartitions |
入力テーブルから選択するパーティションです。 |
いいえ |
テーブル全体 |
|
inputBinTableName |
入力ビニングテーブルです。 |
いいえ |
N/A |
|
selectedBinColNames |
ビニングテーブルから選択する列です。 |
いいえ |
空 |
|
positiveLabel |
出力における正例サンプルのクラス値です。 |
いいえ |
1 |
|
nDivide |
ビン数です。値は正の整数である必要があります。 |
いいえ |
10 |
|
colsNDivide |
カスタム列のビン数です(例:col0:3,col2:5)。colsNDivide で指定された列が selectedColNames に含まれていない場合、追加の列も計算に含まれます。たとえば、selectedColNames が col0,col1、colsNDivide が col0:3,col2:5、nDivide が 10 の場合、計算は col0:3,col1:10,col2:5 に基づいて実行されます。 |
いいえ |
空 |
|
isLeftOpen |
間隔タイプを指定します。有効な値:
|
いいえ |
true |
|
stringThreshold |
else ビンに割り当てる離散値の頻度しきい値です。 |
いいえ |
N/A |
|
colsStringThreshold |
カスタム列のしきい値は、colsNDivide と同じです。 |
いいえ |
空 |
|
binningMethod |
ビニングモードです。有効な値:
|
いいえ |
quantile |
|
lifecycle |
出力テーブルのライフサイクル(日数)です。値は正の整数である必要があります。 |
いいえ |
N/A |
|
coreNum |
コア数です。値は正の整数である必要があります。 |
いいえ |
システムによって自動計算されます。 |
|
memSizePerCore |
コアあたりのメモリサイズ(単位:MB)です。値は正の整数である必要があります。 |
いいえ |
システムによって自動計算されます。 |
ビニング制約機能は、スコアカードトレーニングコンポーネントと併用することを目的としています。このプロセスでは、ビニングは特徴量エンジニアリングのステップとして機能し、特徴量をダミー変数に離散化します。その後、各ダミー変数の重みを次のように制約できます。
-
昇順:特徴量のダミー変数の重みが、インデックス値の増加に伴って増加するように制約します。
-
降順:特徴量のダミー変数の重みが、インデックス値の増加に伴って減少するように制約します。
-
同一重み:特徴量の選択されたダミー変数が同じ重みを持つように強制します。
-
ゼロ重み:ダミー変数の重みをゼロに制約します。
-
特定の重み:ダミー変数の重みを特定の浮動小数点値に制約します。
-
WOE 順序:特徴量のダミー変数の重みが、Weight of Evidence (WOE) 値の増加に伴って増加するように制約します。
結果の確認
-
ワークフローに含まれる [Binning] コンポーネントを実行したら、キャンバス上の [Binning] コンポーネントを右クリックし、ショートカットメニューから [Binning] を選択します。
-
変数一覧ページでは、各変数の ビン、タイプ、および IV を確認できます。
-
f1 などの変数名をクリックすると、f1-ビニング詳細 ページが開きます。
このページでは、ビンの マージ や 分割 を行い、制約を追加できます。
説明制約は後続のスコアカードトレーニングコンポーネントにのみ適用されます。スコアカードトレーニングコンポーネントを使用しない場合は、無視しても問題ありません。
このページには リスト ビューと チャート ビューの 2 種類があります。リストビューには、各ビンの インデックス、ラベル(ビンの間隔。例:(-inf,4.8])、制約(制約演算子と値)、WOE、件数(合計、正例、負例の件数)、および 比率 が表示されます。右側の カスタムビニング パネルでは、データの型別にビンを指定したり、境界範囲を設定したり、制約タイプ(昇順 (< ビン)、降順 (> ビン)、同一重み (= ビン)、ゼロ重み (= 0)、特定の重み (= 重み)、WOE 順序)を構成したりできます。