过滤式特征选择是一种预处理技术,用于在建模前通过统计指标(如相关系数、信息增益等)评估特征的重要性,从而筛选出对目标变量最有贡献的特征。该方法独立于具体的机器学习算法,具有效率高、实现简单的优点,适用于大规模数据集的特征维度缩减。
使用限制
过滤式特征选择算法无法直接处理以libsvm和键值对(KV)格式存储的数据。
配置组件
方式一:可视化方式
在Designer工作流页面添加过滤式特征选择组件,并在界面右侧配置相关参数:
参数类型 | 参数 | 描述 |
字段设置 | 选择特征列 | 指定需要进行特征选择的特征列,即选择数据集中需要评估的重要特征。 |
选择目标列 | 指定目标变量列,即模型需要预测的输出变量,用于计算特征与目标之间的相关性。 | |
枚举类特征 | 指定哪些特征是类别特征(枚举类特征),这些特征通常需要进行特殊处理或编码(如独热编码)。 | |
是否K:V,K:V稀疏特征 | 指定特征是否以键值对(Key:Value)的稀疏格式存储。这种格式常用于高维稀疏数据,特别是在文本数据处理中。 | |
参数设置 | 特征选择方法 | 指定用于特征选择的统计方法,取值:
|
挑选TopN特征 | 指定要选择的前N个最重要的特征,根据特征选择方法计算的指标进行排序。如果TopN大于输入特征数,则输出所有特征。 | |
连续特征分区方式 | 指定对于连续特征如何进行分区,取值:
| |
连续特征离散区间数 | 指定将连续特征离散化时的区间数量,即将连续数值特征分成多少个离散区间。仅连续特征分区方式选择等距离分区时,才需要配置该参数。 |
方式二:PAI命令方式
使用PAI命令配置过滤式特征选择组件参数。您可以使用SQL脚本组件进行PAI命令调用,详情请参见场景4:在SQL脚本组件中执行PAI命令。
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 | 特征选择的方法,取值包括:iv、GiniGain、InfoGain和Lasso。 |
topN | 否 | 10 | 挑选的TopN个特征,如果TopN大于输入特征数,则输出所有特征。 |
isSparse | 否 | false | 是否是k:v的稀疏特征,false为稠密特征。 |