机器学习之特征选择
2018-05-16 02:05 乱月灵猫 阅读(357) 评论(0) 编辑 收藏 举报特征工程包括了两个重要问题,一个是特征选择,另一个是特征提取。这次介绍特征选择:
特征选择通常有两种方案:filter,wrapper,embedded
filter,衡量每个特征的重要性,然后对其进行排序,筛选的时候可以选择top N,或者可以选择前x%
filter方法:卡方检测,信息增益,相关系数,PCA主成分分析,LDA线性判别分析,FA因子分析
wrapper方法,是将子集的选择看作是一个搜索寻优问题,比如GA,PSO,DE,ABC等等。。(除了第一个,其余一概不知,PSO粒子群算法,ABC人工蜂群算法)
Embedded方法:在模型既定的情况下学习出对提高模型准确性最好的属性。例如岭回归
通常而言,特征选择是指选择获得相应模型和算法最好性能的特征集,工程上常用的方法有以下:
1. 计算每一个特征与响应变量的相关性:工程上常用的手段有计算皮尔逊系数和互信息系数,皮尔逊系数只能衡量线性相关性而互信息系数能够很好地度量各种相关性,但是计算相对复杂一些,好在很多toolkit里边都包含了这个工具(如sklearn的MINE),得到相关性之后就可以排序选择特征了;
2. 构建单个特征的模型,通过模型的准确性为特征排序,借此来选择特征,另外,记得JMLR'03上有一篇论文介绍了一种基于决策树的特征选择方法,本质上是等价的。当选择到了目标特征之后,再用来训练最终的模型;
3. 通过L1正则项来选择特征:L1正则方法具有稀疏解的特性,因此天然具备特征选择的特性,但是要注意,L1没有选到的特征不代表不重要,原因是两个具有高相关性的特征可能只保留了一个,如果要确定哪个特征重要应再通过L2正则方法交叉检验;