-
Filter
1.移除低方差的特征
2.单变量特征选择 -
Wrapper
1.递归特征消除 -
Embedded
1.使用SelectFromModel选择特征
2.将特征选择过程融入pipline
当数据预处理完成后,我们需要选择有意义的特征输入机器学习的算法和模型进行训练。
通常来说,从两个方面考虑来选择特征:
特征是否发散
如果一个特征不发散,例如方差接近0,也就是说样本在这个特征上基本没有差异,这个特征对于样本区分并没有什么用。
特征与目标的相关性
与目标相关性高的特征应该优先选择。
根据特征选择的形式又可以将特征选择方法分为3种:
Filter:过滤法,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征。
Wrapper:包装法,根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。
Embedded:嵌入法,先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣。
特征选择主要有两个目的:
减少特征数量、降维,使模型泛化能力更强,减少过拟合#变量筛选,分箱;
增强对特征和特征值之间的理解