根据您使用的不同特征选择方法,从所有稀疏或稠密格式的特征数据中选择并过滤出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