全部产品

过滤式特征选择

更新时间:2019-05-10 16:46:24

过滤式特征选择

根据用户不同的特征选择方法,选择并过滤出TopN的特征数据,同时保存所有特征重要性表(右输出)。支持稀疏和稠密数据格式。

PAI命令及说明

1. PAI命令

  1. PAI -name fe_select_runner -project algo_public
  2. -DfeatImportanceTable=pai_temp_2260_22603_2
  3. -DselectMethod=iv
  4. -DselectedCols=pdays,previous,emp_var_rate,cons_price_idx,cons_conf_idx,euribor3m,nr_employed,age,campaign
  5. -DtopN=5
  6. -DlabelCol=y
  7. -DmaxBins=100
  8. -DinputTable=pai_dense_10_9
  9. -DoutputTable=pai_temp_2260_22603_1;

2. 参数说明

参数名称 参数描述 参数值可选项 默认值
inputTable 必选,输入表的表名 表名 不涉及
inputTablePartitions 可选,输入表中指定哪些分区参与训练,格式为partition_name=value。如果是多级,格式为name1=value1/name2=value2,如果指定多个分区,中间用“,”分开 分区名 输入表的所有partition
outputTable 必选,过滤后的特征结果表 表名 不涉及
featImportanceTable 必选,存放所有输入特征的重要性权重值 表名 不涉及
selectedCols 必选,特征列 列名 不涉及
labelCol 必选,标签列/目标列 列名 不涉及
categoryCols Int或者Double字符的枚举特征,可选 不涉及 “”
maxBins 连续类特征划分最大区间数,可选 100
selectMethod 特征选择方法,可选 支持 iv(Information Value),Gini增益,信息增益,Lasso iv
topN 挑选的TopN个特征,如果TopN大于输入特征数,则输出所有特征,可选 正整数 10
isSparse 是否是k:v的稀疏特征,可选,默认稠密数据 true/false false
itemSpliter 稀疏特征item分隔符,可选,默认逗号 字符 “,”
kvSpliter 稀疏特征item分隔符,可选,默认冒号 字符 “:”
lifecycle 结果表生命周期,可选,默认7 正整数 7

具体示例

输入数据

  1. create table if not exists pai_dense_10_9 as
  2. select
  3. age,campaign,pdays, previous, emp_var_rate, cons_price_idx, cons_conf_idx, euribor3m, nr_employed, y
  4. from bank_data limit 10;

参数配置

y为过滤式特征选择的标签列,其他字段为特征列。特征选择方法IV挑选TopN特征5,表示过滤top5的特征,如下图所示。

imageimage

运行结果

左输出为过滤后的数据,如下表所示。

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

右输出是特征重要性表,字段结构如下表所示。featureName表示特征名称,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

weight计算公式如下:

选择方法 weght含有
IV 信息价值
GiniGain Gini增益
InfoGain 信息熵增益
Lasso 线性模型权重绝对值