数据挖掘:特征工程——特征提取与选择( 四 )


基本思想:通过保持高维数据与低维数据间的局部领域几何结构,局部重构系数来实现降维
各种降维方法的代码展示:降维方法 -简直太全!- 附代码( 、 、corr、PCA、ICA、IOSMA
五、特征选择
这两篇文章对特征选择的介绍比较完善,下面的内容也基本上是从这上面摘抄下来,整理的 。
特征选择 ()
特征工程
从给定的特征集合中选出相关特征子集的过程称为特征选择( ) 。其目的是
减少特征数量、降维,使模型泛化能力更强,减少过拟合;增强对特征和特征值之间的理解 。
特征选择放入思想:
确保不丢失重要的特征,否则就会因为缺少重要的信息而无法得到一个性能很好的模型 。非重要特征指的是以下两种:
通常来说,从两个方面考虑来选择特征:
特征是否发散:如果一个特征不发散,例如方差接近于0,也就是说样本在这个特征上基本上没有差异,这个特征对于样本的区分并没有什么用 。特征与目标的相关性:这点比较显见,与目标相关性高的特征,应当优选选择 。除移除低方差法外,本文介绍的其他方法均从相关性考虑 。
在没有任何先验知识,即领域知识的前提下,要想从初始特征集合中选择一个包含所有重要信息的特征子集,唯一做法就是遍历所有可能的特征组合 。但这种做法并不实际,也不可行,因为会遭遇组合爆炸,特征数量稍多就无法进行 。
一个可选的方案是:产生一个候选子集,评价出它的好坏 。基于评价结果产生下一个候选子集,再评价其好坏 。这个过程持续进行下去,直至无法找到更好的后续子集为止 。
这里有两个问题:如何根据评价结果获取下一个候选特征子集?如何评价候选特征子集的好坏?
将特征子集搜索机制与子集评价机制结合就能得到特征选择方法 。事实上,决策树/随机森林可以用于特征选择,所有树结点的划分属性所组成的集合就是选择出来的特征子集 。其他特征选择方法本质上都是显式或者隐式地结合了某些子集搜索机制和子集评价机制 。
特征选择的方法:
:过滤法,按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,选择特征 。:包裹法,根据目标函数(通常是预测效果评分),每次选择若干特征,或者排除若干特征 。:嵌入法,先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据系数从大到小选择特征 。类似于方法,但是是通过训练来确定特征的优劣 。
拿到数据集,一个特征选择方法,往往很难同时完成这两个目的 。通常情况下,选择一种自己最熟悉或者最方便的特征选择方法(往往目的是降维,而忽略了对特征和数据理解的目的) 。一般用嵌入法比较多 。
主要用.来实现 。
5.1 过滤法
该方法先对数据集进行特征选择,然后再训练学习器 。特征选择过程与后续学习器无关 。即先采用特征选择对初始特征进行过滤,然后用过滤后的特征训练模型 。
5.1.1 移除低方差的特征 (with low )
假设某特征的特征值只有0和1,并且在所有输入样本中,95%的实例的该特征取值都是1,那就可以认为这个特征作用不大 。方差低,意味着该数据提供的信息比较少 。如果100%都是1,那这个特征就没意义了 。而且实际当中,一般不太会有95%以上都取某个值的特征存在,所以这种方法虽然简单但是不太好用 。可以把它作为特征选择的预处理,先去掉那些取值变化小的特征,然后再从接下来提到的的特征选择方法中选择合适的进行进一步的特征选择 。