[フィーチャ選択 (フィルタ方法)] コンポーネントは、指定したフィーチャ選択方法に基づくフィルタを使用して、スパース形式または密形式のすべてのフィーチャデータから上位N個のフィーチャを選択します。 このコンポーネントは、選択した特徴を特徴重要度テーブルに保存する。 これにより、モデルトレーニングの難しさが軽減され、トレーニングされたモデルの精度が向上します。 このトピックでは、Machine Learning Designer (旧称Machine Learning Studio) が提供する機能選択 (フィルターメソッド) コンポーネントのパラメーターを設定する方法について説明します。 このトピックでは、機能選択 (フィルタ方法) コンポーネントの使用方法の例も示します。
制限事項
Feature Selection (Filter Method) コンポーネントは、LIBSVM形式またはキー値ペア形式のデータのフィルタリングをサポートしていません。
コンポーネントの設定
次のいずれかの方法を使用して、機能選択 (フィルタ方法) コンポーネントを設定できます。
方法1: パイプラインページでコンポーネントを設定する
Machine Learning Platform for AI (PAI) のMachine Learning Designerのパイプラインページで、Feature Selection (Filter Method) コンポーネントのパラメーターを設定できます。 Machine Learning Designerは、以前はMachine Learning Studioとして知られていました。 下表に、各パラメーターを説明します。
タブ | パラメーター | 説明 |
フィールド設定 | フィーチャー列 | トレーニング用に入力テーブルから選択されたフィーチャ列の名前。 |
ターゲット列 | 入力テーブルから選択されたラベル列の名前。 | |
列挙機能 | 列挙フィーチャとして処理されるフィーチャの列。 INTおよびDOUBLEデータ型の列のみがサポートされます。 | |
スパースフィーチャ (K:V、K:V) | フィーチャがキーと値のペア形式のスパースフィーチャかどうかを指定します。 | |
パラメーター設定 | 特徴の選択方法 | フィーチャの選択に使用されるメソッド。 有効な値:
|
トップNの特徴 | 選択されるべき上位N個の特徴。 指定された数が入力フィーチャの数より大きい場合、すべてのフィーチャが選択されます。 | |
連続機能分割モード | 連続フィーチャの分割モード。 有効な値:
| |
連続機能離散化間隔 | このパラメーターを設定する必要があるのは、連続フィーチャパーティショニングモードパラメーターを等しい幅パーティショニングに設定した場合のみです。 |
方法2: PAIコマンドを使用する
PAIコマンドを使用してコンポーネントパラメータを設定します。 SQLスクリプトコンポーネントを使用してPAIコマンドを呼び出すことができます。 詳細については、「SQLスクリプト」をご参照ください。
PAI -name fe_select_runner -project algo_public
-DfeatImportanceTable=pai_temp_2260_22603_2
-DselectMethod=iv
-DselectedCols=pdays,previous,emp_var_rate,cons_price_idx,cons_conf_idx,euribor3m,nr_employed,age,campaign
-DtopN=5
-DlabelCol=y
-DmaxBins=100
-DinputTable=pai_dense_10_9
-DoutputTable=pai_temp_2260_22603_1;
パラメーター | 必須 | 説明 | デフォルト値 |
inputTable | Yes | 入力テーブルの名前。 | N/A |
inputTablePartitions | No | トレーニング用に入力テーブルから選択されたパーティション。 次の形式がサポートされています。
説明 複数のパーティションを指定する場合は、コンマ (,) で区切ります。 | すべてのパーティション |
outputTable | Yes | フィルタリング後に生成されるフィーチャ結果テーブル。 | N/A |
featImportanceTable | Yes | すべての入力フィーチャの重要度重み値を格納するテーブル。 | N/A |
selectedCols | Yes | トレーニングに使用されるフィーチャ列。 | N/A |
labelCol | Yes | 入力テーブルから選択されたラベル列。 | N/A |
categoryCols | No | 列挙機能の列。The columns of enumeration features. INTまたはDOUBLEデータ型の列のみがサポートされます。 | N/A |
maxBins | No | 連続フィーチャ分割の間隔の最大数。 | 100 |
selectMethod | No | フィーチャの選択に使用されるメソッド。 有効な値: iv、GiniGain、InfoGain、およびLasso。 | iv |
topN | No | 選択されるべき上位N個の特徴。 指定された数が入力フィーチャの数より大きい場合、すべてのフィーチャが選択されます。 | 10 |
isSparse | No | フィーチャがキーと値のペア形式のスパースフィーチャかどうかを指定します。 falseの値は、密な特徴を示します。 | false |
例:
入力データ
次のSQL文を実行してテストデータを生成します。
存在しない場合にテーブルを作成する
create table if not exists pai_dense_10_9 as select age,campaign,pdays,previous,emp_var_rate,cons_price_idx,cons_conf_idx,euribor3m,nr_employed,y from bank_data limit 10;
パラメータ設定
入力テーブルはpai_dense_10_9です。 [対象列] のy列と [機能列] の他の列を選択します。 次の図は、詳細なパラメーター設定を示しています。
Output
左の出力は、次の表に格納されているフィルタリングされたデータです。
pdays
nr_employed
emp_var_rate
cons_conf_idx
cons_price_idx
y
999.0
5228.1
1.4
-36.1
93.444
0.0
999.0
5195.8
-0.1
-42.0
93.2
0.0
6.0
4991.6
-1.7
-39.8
94.055
1.0
999.0
5099.1
-1.8
-47.1
93.075
0.0
3.0
5076.2
-2.9
-31.4
92.201
1.0
999.0
5228.1
1.4
-42.7
93.918
0.0
999.0
5099.1
-1.8
-46.2
92.893
0.0
999.0
5099.1
-1.8
-46.2
92.893
0.0
3.0
5076.2
-2.9
-40.8
92.963
1.0
999.0
5099.1
-1.8
-47.1
93.075
0.0
右側の出力は、以下に示す特徴重要度テーブルである。 featname列には、機能名が格納されます。 重みカラムは、特徴選択方法によって計算された重み値を格納する。
featname
重量
pdays
30.675544191232486
nr_employed
29.08332850085075
emp_var_rate
29.08332850085075
cons_conf_idx
28.02710269740324
cons_price_idx
28.02710269740324
euribor3m
27.829058450563718
年齢
27.829058450563714
前
14.319325030742775
キャンペーン
10.658129656314467