根據您使用的不同特徵選取方法,從所有稀疏或稠密格式的特徵資料中選擇並過濾出TopN的特徵資料,同時儲存為特徵重要性表,實現了降低模型訓練的難度和提高訓練模型的精確度。本文為您介紹Designer提供的過濾式特徵選取組件的參數配置和使用樣本。
使用限制
過濾式特徵選取不支援過濾libsvm和kv資料格式。
組件配置
您可以使用以下任意一種方式,配置過濾式特徵選取組件參數。
方式一:可視化方式
在Designer工作流程頁面配置組件參數。
頁簽 | 參數 | 描述 |
欄位設定 | 選擇特徵列 | 輸入表中用於訓練的特徵列。 |
選擇目標列 | 輸入表中選擇的目標列名稱。 | |
枚舉類特徵 | 選中的特徵將被視做枚舉特徵處理,支援INT或DOUBLE類型。 | |
是否K:V,K:V稀疏特徵 | 是否是K:V的稀疏特徵。 | |
參數設定 | 特徵選取方法 | 特徵選取的方法,取值如下:
|
挑選TopN特徵 | 挑選的TopN個特徵,如果TopN大於輸入特徵數,則輸出所有特徵。 | |
連續特徵分區方式 | 連續特徵分區的方式,取值如下:
| |
連續特徵離散區間數 | 僅連續特徵分區方式選擇等距離分區時,才需要配置該參數。 |
方式二: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 | 是 | 輸入的表名稱。 | 無 |
inputTablePartitions | 否 | 輸入表中參與訓練的分區。系統支援以下格式:
說明 指定多個分區時,分區之間使用英文逗號(,)分隔。 | 所有分區 |
outputTable | 是 | 過濾後的特徵結果表。 | 無 |
featImportanceTable | 是 | 存放所有輸入特徵的重要性權重值。 | 無 |
selectedCols | 是 | 用於訓練的特徵列。 | 無 |
labelCol | 是 | 輸入表中選中的目標列。 | 無 |
categoryCols | 否 | 枚舉類特徵,只能為INT或DOUBLE類型。 | 無 |
maxBins | 否 | 連續類特徵劃分的最大區間數。 | 100 |
selectMethod | 否 | 特徵選取的方法,取值包括:iv、GiniGain、InfoGain和Lasso。 | iv |
topN | 否 | 挑選的TopN個特徵,如果TopN大於輸入特徵數,則輸出所有特徵。 | 10 |
isSparse | 否 | 是否是k:v的稀疏特徵,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列,選擇特徵列選擇除y列之外的其他所有列,詳細參數配置如下圖所示。
運行結果
左輸出為過濾後的資料,如下表所示。
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存放特徵名稱,weight表示特徵選取方法計算出來的權重。具體表結構如下所示。
featname
weight
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
age
27.829058450563714
previous
14.319325030742775
campaign
10.658129656314467