特征选择 Wrapper
2021-9-5
| 2023-8-6
0  |  阅读时长 0 分钟
type
status
date
slug
summary
tags
category
icon
password
Property
notion image
 
包装法的解决思路没有过滤法这么直接,它会选择一个目标函数来一步步的筛选特征。
最常用的包装法是递归消除特征法(recursive feature elimination,RFE),递归消除特征法使用一个机器学习模型来进行多轮训练,每轮训练后,消除若干权值系数的对应的特征,再基于新的特征集进行下一轮训练。
以经典的SVM-RFE算法来讨论这个特征选择的思路:这个算法以支持向量机来做RFE的机器学习模型选择特征。它在第一轮训练的时候,会选择所有的特征来训练,得到了分类的超平面 后,如果有 个特征,那么RFE-SVM会选择出 中分量的平方值最小的那个序号对应的特征,将其排除,在第二类的时候,特征数就剩下 个了,继续用这个特征和输出值来训练SVM,同样的,去掉最小的那个序号对应的特征。以此类推,直到剩下的特征数满足需求为止。

稳定选择(Stability selection)

稳定性选择是一种基于二次抽样和选择算法相结合较新的方法, 选择算法可以是回归、SVM或其他类似的方法。它的主要思想是在不同的数据子集和特征子集上运行特征选择算法,不断的重复, 最终汇总特征选择结果。比如可以统计某个特征被认为是重要特征的频率 (被选为重要特征的次数除以它所在的子集被测试的次数)。理想情况下, 重要特征的得分会接近 ,稍微弱一点的特征得分会是非0的数, 而最无用的特征得分将会接近于0 。
 

递归特征消除法 (RFE)

递归特征消除的主要思想是反复的构建模型(如SVM或者回归模型)然后选出最差的(或者最好的)的特征(可以根据系数来选),把选出来的特征放到一边,然后在剩余的特征上重复这个过程,直到所有特征都遍历了。这个过程中特征被消除的次序就是特征的排序。因此,这是一种寻找最优特征子集的贪心算法。
步骤:
  1. 使用所有特征先创建一个基准模型
  1. 剔除一个特征,创建新模型,记录新模型的预测精度
  • 如果预测精度比基准模型高,剔除该特征
  • 如果预测精度比基准模型低,保留该特征
3. 重复第二步,直到预测精度保持稳定
 
sklearn.feature_selection提供了两个接口:
  • RFE: 可指定选择的特征数
  • RFECV: 根据k折交叉验证评分自动选择最优特征
 
RFE的稳定性很大程度上取决于在迭代的时候底层用哪种模型。例如,假如RFE采用的普通的回归,没有经过正则化的回归是不稳定的,那么RFE就是不稳定的;假如采用的是Ridge,而用Ridge正则化的回归是稳定的,那么RFE就是稳定的。 使用feature_selection库的RFE类来选择特征:
 
 
单变量选择和递归消除应结合使用,它们的功能是互补的,单变量选择剔除了无关变量,递归消除剔除了相关特征
  • Scikit-Learn
  • 特征选择 Filter特征选择 Embedded
    目录