根据您使用的不同特征选择方法,从所有稀疏或稠密格式的特征数据中选择并过滤出TopN的特征数据,同时保存为特征重要性表,实现了降低模型训练的难度和提高训练模型的精确度。本文为您介绍PAI-Designer(原PAI-Studio)提供的过滤式特征选择组件的参数配置和使用示例。
使用限制
过滤式特征选择不支持过滤libsvm和kv数据格式。
组件配置
您可以使用以下任意一种方式,配置过滤式特征选择组件参数。
方式一:可视化方式
在PAI-Designer(原PAI-Studio)工作流页面配置组件参数。
页签 | 参数 | 描述 |
---|---|---|
字段设置 | 选择特征列 | 输入表中用于训练的特征列。 |
选择目标列 | 输入表中选择的目标列名称。 | |
枚举类特征 | 选中的特征将被视做枚举特征处理,支持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列之外的其他所有列,详细参数配置如下图所示。
图 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