データ変換モジュールコンポーネントは、データに対して正規化、離散化、インデックス化、または証拠の重み (WOE) 変換を実行する。
コンポーネントの設定
次のいずれかの方法を使用して、データ変換モジュールコンポーネントを設定できます。
方法1: パイプラインページでコンポーネントを設定する
Machine Learning Platform for AI (PAI) のMachine Learning Designerのパイプラインページで、データ変換モジュールコンポーネントのパラメーターを設定できます。 Machine Learning Designerは、以前はMachine Learning Studioとして知られていました。 下表に、各パラメーターを説明します。
タブ | パラメーター | 説明 |
フィールド設定 | 入力テーブルのフィーチャ列 | 入力テーブルから選択されたフィーチャ列。 デフォルトでは、入力テーブルのすべての列が選択されます。 |
データ変換なしの列 | データ変換が不要な列。 出力で選択された列は、入力の列と同じです。 列にラベルを指定できます。 | |
データ変換モード | 有効な値: Normalization、Discretization、WOE Conversion、Index。 | |
デフォルトのWOE値 | このパラメーターは、データ変換モードパラメーターがWOE変換に設定されている場合にのみ有効です。 このパラメーターが指定され、サンプル値がWOE値のないビンに含まれる場合、この値がWOE値として使用されます。 このパラメーターが指定されておらず、サンプル値がWOE値のないビンに該当する場合、システムはエラーを報告します。 | |
チューニング | コア数 | 必要なCPUコアの数。 デフォルトでは、システムが値を決定します。 |
コアあたりのメモリサイズ | 各CPUコアのメモリサイズ。 デフォルトでは、システムが値を決定します。 |
方法2: PAIコマンドを使用する
PAIコマンドを使用してコンポーネントパラメータを設定します。 SQLスクリプトコンポーネントを使用してPAIコマンドを呼び出すことができます。 詳細については、「SQLスクリプト」をご参照ください。
PAI -name data_transform
-project algo_public
-DinputFeatureTableName=feature_table
-DinputBinTableName=bin_table
-DoutputTableName=output_table
-DmetaColNames=label
-DfeatureColNames=feaname1,feaname2
パラメーター | 説明 | 必須 | デフォルト値 |
inputFeatureTableName | 入力フィーチャテーブルの名前。 | 可 | デフォルト値なし |
inputBinTableName | ビニング結果テーブルの名前。 | 可 | デフォルト値なし |
inputFeatureTablePartitions | 入力フィーチャテーブルから選択されたパーティション。 | 不可 | フルテーブル |
outputTableName | 出力テーブルの名前。 | 可 | デフォルト値なし |
featureColNames | 入力テーブルから選択されたフィーチャ列。 | 不可 | すべての列 |
metaColNames | 変換する必要のない列。 出力のこれらの列は、入力の列と同じです。 列にラベルとサンプルIDを指定できます。 | 不可 | デフォルト値なし |
transformType | データ変換のタイプ。 有効な値:
| 不可 | ダミー |
itemDelimiter | フィーチャを区切るために使用される区切り文字。 このパラメーターは、transformTypeパラメーターがdummyに設定されている場合にのみ有効です。 | 不可 | , |
kvDelimiter | キーと値を区切るために使用される区切り文字。 このパラメーターは、transformTypeパラメーターがdummyに設定されている場合にのみ有効です。 | 不可 | : |
ライフサイクルの設定 (Set lifecycle) | 出力テーブルのライフサイクル。 | 不可 | デフォルト値なし |
coreNum | 必要なCPUコアの数。 | 不可 | システムによって決定される |
memSizePerCore | 各CPUコアのメモリサイズ。 単位:MB。 | 不可 | システムによって決定される |
正規化を実装するために、データ変換モジュールコンポーネントは、入力ビニング情報に基づいて変数値を0と1の間の値に変換し、欠落した値を0に設定します。 次のアルゴリズムが使用されます:
if feature_raw_value == null or feature_raw_value == 0 then
feature_norm_value = 0.0
else
bin_index = FindBin(bin_table, feature_raw_value)
bin_width = round(1.0 / bin_count * 1000) / 1000.0
feature_norm_value = 1.0 - (bin_count - bin_index - 1) * bin_width
データ変換モジュールコンポーネントは、さまざまな種類のデータをさまざまな形式に変換できます。
正規化とWOE変換のために、コンポーネントは通常のテーブルを生成します。
データがダミー変数に変換される離散化中に、コンポーネントはキー値形式のテーブルを生成します。 テーブル内の各変数は、${feaname}]\_bin \_${ bin_id} 形式です。 次の例では、sns変数が使用されています。
snsが2番目のビンに該当する場合、生成される変数は [sns]_bin_2です。
snsに値がない場合は、空のbinに該当し、生成される変数は [sns]_bin_nullです。
snsに値があり、定義されたビンに該当しない場合、elseビンに該当し、生成される変数は [sns]_bin_elseです。