问题描述:
进行模型训练时,特征数据必不可少,但是特征数量、特征质量如何,对模型效果起着十分关键的作用。有时候特征维度很高但是有很多特征对模型效果提升是无益的,甚至在有的模型中特征之间还会进行干扰。此时特征选择是十分必要的,通过特征选择选取最优特征子集能达到提高模型训练速率和模型效果的目的。
特征选择流程:
进行特征选择时,需要生成特征子集,确定好评价函数(模型效果是否变优),停止准则(什么时候停止特征选择),验证效果(使用验证集对特征选择方法进行评估)。
特征选择方法:
1.单特征-卡阈值:对特征方差超过某一个设定阈值,即可过滤掉。选取阈值方法:Var[X]=p(1-p)
2.单变量特征选择:通过选取topk的特征作为模型最终输入
3.基于L1正则化的特征选择:选择非零系数//TODO
4.基于树模型的特征选择:利用树模型进行模型训练时其实已经有个特征重要性排序,根据这个重要性排序也能进行特征选择
......
衡量标准:
1.相关性:卡方检验,这是个十分重要的指标
2.信息增益
3.距离衡量
参考文献:
http://www.cnblogs.com/heaad/archive/2011/01/02/1924088.html
https://en.wikipedia.org/wiki/Feature_selection
http://scikit-learn.org/stable/modules/feature_selection.html#feature-selection