特征选择问题

特征选择是特征工程中的重要问题(另一个重要的问题是特征提取),坊间常说:数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已。由此可见,特征工程尤其是特征选择在机器学习中占有相当重要的地位。
通常而言,特征选择是指选择获得相应模型和算法最好性能的特征集,工程上常用的方法有以下:
1. 计算每一个特征与响应变量的相关性:工程上常用的手段有计算皮尔逊系数和互信息系数,皮尔逊系数只能衡量线性相关性而互信息系数能够很好地度量各种相关性,但是计算相对复杂一些,好在很多toolkit里边都包含了这个工具(如sklearn的MINE),得到相关性之后就可以排序选择特征了;
2. 构建单个特征的模型,通过模型的准确性为特征排序,借此来选择特征,另外,记得JMLR‘03上有一篇论文介绍了一种基于决策树的特征选择方法,本质上是等价的。当选择到了目标特征之后,再用来训练最终的模型;
3. 通过L1正则项来选择特征:L1正则方法具有稀疏解的特性,因此天然具备特征选择的特性,但是要注意,L1没有选到的特征不代表不重要,原因是两个具有高相关性的特征可能只保留了一个,如果要确定哪个特征重要应再通过L2正则方法交叉检验。即:分别使用L1和L2拟合,如果两个特征在L2中系数相接近,在L1中一个系数为0一个不为0,那么其实这两个特征都应该保留,原因是L1对于强相关特征只会保留一个。
4. 训练能够对特征打分的预选模型:RandomForest和Logistic Regression等都能对模型的特征打分,通过打分获得相关性后再训练最终模型;
5. 通过特征组合后再来选择特征:如对用户id和用户特征最组合来获得较大的特征集再来选择特征,这种做法在推荐系统和广告系统中比较常见,这也是所谓亿级甚至十亿级特征的主要来源,原因是用户数据比较稀疏,组合特征能够同时兼顾全局模型和个性化模型,这个问题有机会可以展开讲。
6. 通过深度学习来进行特征选择:目前这种手段正在随着深度学习的流行而成为一种手段,尤其是在计算机视觉领域,原因是深度学习具有自动学习特征的能力,这也是深度学习又叫unsupervised feature learning的原因。从深度学习模型中选择某一神经层的特征后就可以用来进行最终目标模型的训练了。
整体上来说,特征选择是一个既有学术价值又有工程价值的问题,目前在研究领域也比较热,值得所有做机器学习的朋友重视。

作者:严林
链接:https://www.zhihu.com/question/28641663/answer/41653367 
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

时间: 2024-12-11 12:31:24

特征选择问题的相关文章

特征选择, 经典三刀

        [特征工程]特征选择与特征学习        特征选择(Feature Selection,FS)和特征抽取(Feature Extraction, FE)是特征工程(Feature Engineering)的两个重要的方面.  他们之间最大的区别就是是否生成新的属性.  FS仅仅对特征进行排序(Ranking)和选择, FE更为复杂,需要重新认识事物, 挖掘新的角度, 创新性的创立新的属性, 而目前深度学习这么火, 一个很重要的原因是缩减了特征提取的任务. 不过, 目前特征工程

降维中的特征选择

在数据挖掘过程中,高维数据是非常棘手的研究对象.特别是在文本挖掘.图像处理和基因数据分析中,维度过高使很多学习器无法工作或效率降低,所以降维也是数据预处理过程的一项必要任务.降维大致有两大类别,一类是从原始维度中提取新的维度,例如主成分分析或因子分析,再或者是奇异值分解或是多维标度分析.另一类是从原始维度中选择一些子集,即称为特征选择(Feature Selection),或者叫作最佳子集选择.特征选择本质上继承了Occam's razor的思想,从一组特征中选出一些最有效的特征,使构造出来的模

结合Scikit-learn介绍几种常用的特征选择方法

作者:Edwin Jarvis 特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点.底层结构,这对进一步改善模型.算法都有着重要作用. 特征选择主要有两个功能: 减少特征数量.降维,使模型泛化能力更强,减少过拟合 增强对特征和特征值之间的理解 拿到数据集,一个特征选择方法,往往很难同时完成这两个目的.通常情况下,我们经常不管三七二十一,选择一种自己最熟悉或者最方便的特征选择方法(往往目的是降维,而忽略了对特征和数据理解的目的).

特征选择常用算法综述

特征选择的一般过程: 1.生成子集:搜索特征子集,为评价函数提供特征子集 2.评价函数:评价特征子集的好坏 3.停止准则:与评价函数相关,一般是阈值,评价函数达到一定标准后就可停止搜索 4.验证过程:在验证数据集上验证选出来的特征子集的有效性 1.生成子集 搜索算法有 完全搜索.启发式搜索.随机搜索 三大类. (1)完全搜索 <1>宽搜(Breadth First Search):时间复杂度高,不实用 <2>分支界限搜索(Branch and Bound):其实就是宽搜加上深度的限

特征选择(三)-K-L变换

上一讲说到,各个特征(各个分量)对分类来说,其重要性当然是不同的. 舍去不重要的分量,这就是降维. 聚类变换认为:重要的分量就是能让变换后类内距离小的分量. 类内距离小,意味着抱团抱得紧. 但是,抱团抱得紧,真的就一定容易分类么? 如图1所示,根据聚类变换的原则,我们要留下方差小的分量,把方差大(波动大)的分量丢掉,所以两个椭圆都要向y轴投影,这样悲剧了,两个重叠在一起,根本分不开了.而另一种情况却可以这么做,把方差大的分量丢掉,于是向x轴投影,很顺利就能分开了.因此,聚类变换并不是每次都能成功

干货:结合Scikit-learn介绍几种常用的特征选择方法

原文  http://dataunion.org/14072.html 主题 特征选择 scikit-learn 作者: Edwin Jarvis 特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点.底层结构,这对进一步改善模型.算法都有着重要作用. 特征选择主要有两个功能: 减少特征数量.降维,使模型泛化能力更强,减少过拟合 增强对特征和特征值之间的理解 拿到数据集,一个特征选择方法,往往很难同时完成这两个目的.通常情况下,我

特征选择方法之信息增益

前文提到过,除了开方检验(CHI)以外,信息增益(IG,Information Gain)也是非常有效的特征选择方法.但凡是特征选择,总是在将特征的重要程度量化之后再进行选择,而怎样量化特征的重要性,就成了各种方法间最大的不同.开方检验中使用特征与类别间的关联性来进行这个量化,关联性越强,特征得分越高,该特征越应该被保留. 在信息增益中,重要性的衡量标准就是看特征可以为分类系统带来多少信息,带来的信息越多,该特征越重要. 因此先回顾一下信息论中有关信息量(就是"熵")的定义.说有这么一

浅谈关于特征选择算法与Relief的实现

一. 背景 1) 问题 在机器学习的实际应用中,特征数量可能较多,其中可能存在不相关的特征,特征之间也可能存在相关性,容易导致如下的后果: 1.     特征个数越多,分析特征.训练模型所需的时间就越长,模型也会越复杂. 2.     特征个数越多,容易引起“维度灾难”,其推广能力会下降. 3.     特征个数越多,容易导致机器学习中经常出现的特征稀疏的问题,导致模型效果下降. 4.     对于模型来说,可能会导致不适定的情况,即是解出的参数会因为样本的微小变化而出现大的波动. 特征选择,能

机器学习 特征工程之特征选择

概念 首先看一下维基百科中关于特征选择的介绍: 在机器学习和统计学中,特征选择 也被称为变量选择.属性选择 或变量子集选择 .它是指:为了构建模型而选择相关特征(即属性.指标)子集的过程. 在机器学习中,每个特征对于目标类别的影响并不相同,所以需要从特征集中挑选出一组最具统计意义的特征子集,把其他无用数据删掉,达到降维的目的. 特征选择的目标是寻找最优特征子集.特征选择能剔除不相关(irrelevant)或冗余(redundant )的特征,从而达到减少特征个数,提高模型精确度,减少运行时间的目

特征选择方法总结

摘要: 1.特征选择的功能 2.封装特征选择(Wapper Feature Select) 3.过滤特征选择(Filter Feature Select) 4.嵌入特征选择(Embeding Feature Select) 内容: 1.特征选择的功能 减少特征数量.降维,使模型泛化能力更强,减少过拟合: 增强对特征和特征值之间的理解 特征选择的目标是寻找最优特征子集.特征选择能剔除不相关(irrelevant)或冗余(redundant )的特征 2.封装特征选择(Wapper Feature