当数据预处理完成后,我们需要选择有意义的特征输入机器学习的算法和模型进行训练,通常来说,从两个方面考虑来选择特征:
特征是否发散
特征与目标的相关性
特征是否发散
:如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用;
特征与目标的相关性
:这点比较显见,与目标相关性高的特征,应当优选选择。
根据特征选择的形式又可以将特征选择方法分为3种
:
Filter
:过滤法,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征;
Wrapper
:包装法,根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征;
Embedded
:嵌入法,先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣
Filter
1.方差选择法:
使用方差选择法,先要计算各个特征的方差,然后根据阈值,选择方差大于阈值的特征
2.相关系数法:
使用相关系数法,先要计算各个特征对目标值的相关系数以及相关系数的P值
3.卡方检验:
是检验定性自变量对定性因变量的相关性
4 互信息法:
评价定性自变量对定性因变量的相关性
Wrapper
递归特征消除法:
递归消除特征法使用一个基模型来进行多轮训练,每轮训练后,消除若干权值系数的特征,再基于新的特征集进行下一轮训练
Embedded
1.基于惩罚项的特征选择法:
使用带惩罚项的基模型,除了筛选出特征外,同时也进行了降维
2.基于树模型的特征选择法
树模型中GBDT也可用来作为基模型进行特征选择
参考文章
参考文章1