全部產品
Search
文件中心

Platform For AI:過濾式特徵選取

更新時間:Jul 13, 2024

根據您使用的不同特徵選取方法,從所有稀疏或稠密格式的特徵資料中選擇並過濾出TopN的特徵資料,同時儲存為特徵重要性表,實現了降低模型訓練的難度和提高訓練模型的精確度。本文為您介紹Designer提供的過濾式特徵選取組件的參數配置和使用樣本。

使用限制

過濾式特徵選取不支援過濾libsvm和kv資料格式。

組件配置

您可以使用以下任意一種方式,配置過濾式特徵選取組件參數。

方式一:可視化方式

Designer工作流程頁面配置組件參數。

頁簽

參數

描述

欄位設定

選擇特徵列

輸入表中用於訓練的特徵列。

選擇目標列

輸入表中選擇的目標列名稱。

枚舉類特徵

選中的特徵將被視做枚舉特徵處理,支援INT或DOUBLE類型。

是否K:V,K:V稀疏特徵

是否是K:V的稀疏特徵。

參數設定

特徵選取方法

特徵選取的方法,取值如下:

  • IV:用來衡量特徵預測能力的指標。

  • Gini增益:主要用於單特徵重要性評估。

  • 資訊增益:用於度量多特徵之間的差異。

  • Lasso:用於超大規模特徵的降維篩選。

挑選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

輸入表中參與訓練的分區。系統支援以下格式:

  • Partition_name=value

  • name1=value1/name2=value2:多級分區

說明

指定多個分區時,分區之間使用英文逗號(,)分隔。

所有分區

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列之外的其他所有列,詳細參數配置如下圖所示。

    圖 1. 欄位設定欄位設定

    圖 2. 參數設定參數設定

  • 運行結果

    左輸出為過濾後的資料,如下表所示。

    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