机器学习 特征工程之特征选择
Posted 傲慢的上校
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习 特征工程之特征选择相关的知识,希望对你有一定的参考价值。
概念
首先看一下维基百科中关于特征选择的介绍:
在机器学习和统计学中,特征选择 也被称为变量选择、属性选择 或变量子集选择 。它是指:为了构建模型而选择相关特征(即属性、指标)子集的过程。
在机器学习中,每个特征对于目标类别的影响并不相同,所以需要从特征集中挑选出一组最具统计意义的特征子集,把其他无用数据删掉,达到降维的目的。
特征选择的目标是寻找最优特征子集。特征选择能剔除不相关(irrelevant)或冗余(redundant )的特征,从而达到减少特征个数,提高模型精确度,减少运行时间的目的。另一方面,选取出真正相关的特征简化模型,协助理解数据产生的过程。
常用的特征选择方法分为过滤法(Filter)、包装法(Wrapper)和集成法(Embedded)
下面有个清晰的特征工程的思维导图:
图片源自(http://www.csuldw.com/2015/10/24/2015-10-24%20feature%20engineering/)
过滤法(Filter)
按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征
方差选择法
使用方差选择法,先要计算各个特征的方差,然后根据阈值,选择方差大于阈值的特征。默认设置下,它将移除所有方差为0的特征,即那些在所有样本中数值完全相同的特征。
相关系数法
使用相关系数法,先要计算各个特征对目标值的相关系数以及相关系数的P值。
卡方检验
经典的卡方检验是检验定性自变量对定性因变量的相关性。
互信息法
经典的互信息也是评价定性自变量对定性因变量的相关性的
filter(刷选器)优缺点
上面提到的这种特征子集选择的方法属于filter(刷选器)方法,它主要侧重于单个特征跟目标变量的相关性。优点是计算时间上较高效,对于过拟合问题也具有较高的鲁棒性。缺点就是倾向于选择冗余的特征,因为他们不考虑特征之间的相关性,有可能某一个特征的分类能力很差,但是它和某些其它特征组合起来会得到不错的效果。
包装法(Wrapper)
根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征。有逐步回归(Stepwise regression)、向前选择(Forward selection)和向后选择(Backward selection)
递归特征消除法
递归消除特征法使用一个基模型来进行多轮训练,每轮训练后,消除若干权值系数的特征,再基于新的特征集进行下一轮训练
wrapper(封装器)优缺点
封装器用选取的特征子集对样本集进行分类,分类的精度作为衡量特征子集好坏的标准,经过比较选出最好的特征子集。常用的有逐步回归(Stepwise regression)、向前选择(Forward selection)和向后选择(Backward selection)。它的优点是考虑了特征与特征之间的关联性,缺点是:当观测数据较少时容易过拟合,而当特征数量较多时,计算时间又会增长。
集成法(Embedded)
集成法,先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征。类似于Filter方法,但是是通过训练来确定特征的优劣。Regularization,或者使用决策树思想,Random Forest和Gradient boosting等
基于惩罚项的特征选择法
使用带惩罚项的基模型,除了筛选出特征外,同时也进行了降维。
基于树模型的特征选择法
树模型中GBDT也可用来作为基模型进行特征选择
特征选择-有效性分析
对特征的有效性进行分析,得到各个特征的特征权重,根据是否与模型有关可以分为1.与模型相关特征权重,使用所有的特征数据训练出来模型,看在模型中各个特征的权重,由于需要训练出模型,模型相关的权重与此次学习所用的模型比较相关。不同的模型有不同的模型权重衡量方法。例如线性模型中,特征的权重系数等。2.与模型无关特征权重。主要分析特征与label的相关性,这样的分析是与这次学习所使用的模型无关的。与模型无关特征权重分析方法包括(1)交叉熵,(2)Information Gain,(3)Odds ratio,(4)互信息,(5)KL散度等
资料引用
本文是自己在学习过程中,阅读博客整理而来,大部分是直接摘取自他人内容,如有侵权,请告知删除,有些引用内容有所遗漏,没有注明,请告知。
http://www.csuldw.com/2015/10/24/2015-10-24%20feature%20engineering/
https://www.zhihu.com/question/29316149
以上是关于机器学习 特征工程之特征选择的主要内容,如果未能解决你的问题,请参考以下文章
机器学习实战基础(十七):sklearn中的数据预处理和特征工程特征选择 之 Embedded嵌入法
机器学习实战基础(十七):sklearn中的数据预处理和特征工程特征选择 之 Embedded嵌入法
机器学习实战基础(十八):sklearn中的数据预处理和特征工程特征选择 之 Wrapper包装法