特征选择方法总结(过滤式,包裹式,嵌入式)

目录

1 Intro

2 过滤式(filter)

2.1 移除低方差的特征 

2.2 单变量特征选择

2.2.1 卡方检验

2.2.2 皮尔逊相关系数

2.2.3 互信息和最大信息系数 (Mutual information and maximal information coefficient (MIC)

2.2.4 距离相关系数 (Distance Correlation)

3 包裹式

3.1 递归特征消除(Recursive Feature Elimination)

4 嵌入式

Reference


1 Intro

从给定的特征集合中选择出相关特征子集的过程,称为“特征选择”。特征选择是一个重要的数据预处理过程,进行特征选择的原因如下:

减少特征数量、降维,使模型泛化能力更强,减少过拟合;

去除不相关特征,降低学习难度。

常见的特征选择方法大致可以分为三类:过滤式、包裹式和嵌入式。

2 过滤式(filter)

过滤式方法先对数据集进行特征选择,然后再训练学习器。特征选择过程与后续学习器无关,这相当于先对初始特征进行“过滤”,再用过滤后的特征训练模型。

过滤式选择的方法有:

  1. 移除低方差的特征;

  2. 相关系数排序,分别计算每个特征与输出值之间的相关系数,设定一个阈值,选择相关系数大于阈值的部分特征;

  3. 利用假设检验得到特征与输出值之间的相关性,方法有比如卡方检验、t检验、F检验等。

  4. 互信息,利用互信息从信息熵的角度分析相关性。

2.1 移除低方差的特征 

假设某特征的特征值只有0和1,并且在所有输入样本中,95%的实例的该特征取值都是1,那就可以认为这个特征作用不大。如果100%都是1,那这个特征就没意义了。当特征值都是离散型变量的时候这种方法才能用,如果是连续型变量,就需要将连续变量离散化之后才能用。而且实际当中,一般不太会有95%以上都取某个值的特征存在,所以这种方法虽然简单但是不太好用。可以把它作为特征选择的预处理,先去掉那些取值变化小的特征,然后再从接下来提到的的特征选择方法中选择合适的进行进一步的特征选择。

2.2 单变量特征选择

 单变量特征选择的原理是分别单独的计算每个变量的某个统计指标,根据该指标来判断哪些指标重要,剔除那些不重要的指标。

  对于分类问题(y离散),可采用:
    卡方检验f_classifmutual_info_classif互信息
  对于回归问题(y连续),可采用:
    皮尔森相关系数f_regressionmutual_info_regression最大信息系数

  这种方法比较简单,易于运行,易于理解,通常对于理解数据有较好的效果(但对特征优化、提高泛化能力来说不一定有效)

2.2.1 卡方检验

 

2.2.2 皮尔逊相关系数

皮尔森相关系数是一种最简单的,能帮助理解特征和响应变量之间关系的方法,该方法衡量的是变量之间的线性相关性,结果的取值区间为[-1,1],-1表示完全的负相关,+1表示完全的正相关,0表示没有线性相关。

2.2.3 互信息和最大信息系数 (Mutual information and maximal information coefficient (MIC)

经典的互信息(互信息为随机变量X与Y之间的互信息I(X;Y)I(X;Y)为单个事件之间互信息的数学期望)也是评价定性自变量对定性因变量的相关性的,互信息计算公式如下:

互信息直接用于特征选择其实不是太方便:1、它不属于度量方式,也没有办法归一化,在不同数据及上的结果无法做比较;2、对于连续变量的计算不是很方便(X和Y都是集合,x,y都是离散的取值),通常变量需要先离散化,而互信息的结果对离散化的方式很敏感。

最大信息系数克服了这两个问题。它首先寻找一种最优的离散化方式,然后把互信息取值转换成一种度量方式,取值区间在[0,1]。 

2.2.4 距离相关系数 (Distance Correlation)

距离相关系数是为了克服Pearson相关系数的弱点而生的。在x和x2这个例子中,即便Pearson相关系数是0,我们也不能断定这两个变量是独立的(有可能是非线性相关);但如果距离相关系数是0,那么我们就可以说这两个变量是独立的。

3 包裹式

包裹式从初始特征集合中不断的选择特征子集,训练学习器,根据学习器的性能来对子集进行评价,直到选择出最佳的子集。

包裹式特征选择直接针对给定学习器进行优化。

优点:从最终学习器的性能来看,包裹式比过滤式更好;

缺点:由于特征选择过程中需要多次训练学习器,因此包裹式特征选择的计算开销通常比过滤式特征选择要大得多。

包裹法中,特征子集的搜索问题,最容易想到的办法是穷举法,还可以在拉斯维加斯方法框架下使用随机策略进行子集搜索(Las Vegas Wrapper,LVW)。但是由于LVW算法中特征子集搜索采用了随机策略,每次特征子集评价都需要训练学习器,计算开销很大,如果初始特征数很多,算法可能运行很长时间都达不到停止条件,若有运行时间限制,可能给不出解。

因此,我们通常使用的是贪心算法:如前向搜索(在最优的子集上逐步增加特征,直到增加特征并不能使模型性能提升为止)、后向搜索、双向搜索(将前向搜索和后向搜索相结合)。

3.1 递归特征消除(Recursive Feature Elimination)

递归特征消除的主要思想是反复的构建模型(如SVM或者回归模型)然后选出最好的(或者最差的)的特征(可以根据系数来选),把选出来的特征选择出来,然后在剩余的特征上重复这个过程,直到所有特征都遍历了。这个过程中特征被消除的次序就是特征的排序。因此,这是一种寻找最优特征子集的贪心算法

RFE的稳定性很大程度上取决于在迭代的时候底层用哪种模型。例如,假如RFE采用的普通的回归,没有经过正则化的回归是不稳定的,那么RFE就是不稳定的;假如采用的是Ridge,而用Ridge正则化的回归是稳定的,那么RFE就是稳定的。

sklearn官方解释:对特征含有权重的预测模型(例如,线性模型对应参数coefficients),RFE通过递归减少考察的特征集规模来选择特征。首先,预测模型在原始特征上训练,每个特征指定一个权重。之后,那些拥有最小绝对值权重的特征被踢出特征集。如此往复递归,直至剩余的特征数量达到所需的特征数量。

 

4 嵌入式

在过滤式和包裹式特征选择方法中,特征选择过程与学习器训练过程有明显的分别。而嵌入式特征选择在学习器训练过程中自动地进行特征选择。

嵌入式选择最常用的是L1 正则化和L2正则化

正则化项越大,模型越简单,系数越小,当正则化项增大到一定程度时,所有的特征系数都会趋于0,在这个过程中,会有一部分特征的系数先变成0。也就实现了特征选择过程。

逻辑回归、线性回归、决策树都可以当作正则化选择特征的基学习器,只有可以得到特征系数或者可以得到特征重要度的算法才可以作为嵌入式选择的基学习器。

 

Reference

机器学习系统设计 第11章

特征选择 (feature_selection)

基于模型的特征选择详解 (Embedded & Wrapper)

这是一个关于文本分类中特征选择的问题,我理解了解一下后,为您解答。 包裹选择、过滤选择和嵌入式选择是文本分类中常用的特征选择方法,它们的主要异同如下: 1. 目标不同: - 包裹选择:将特征选择看成是一个搜索问题,通过训练模型来确定哪些特征对于模型的性能最为重要。 - 过滤选择:将特征选择看成是一个独立于分类器的问题,通过对特征进行统计分析,筛选出与分类目标相关性最高的特征。 - 嵌入式选择:将特征选择作为模型训练的一部分,通过在模型训练过程中进行特征选择,同时学习到最优的特征子集和分类器模型。 2. 选择方法不同: - 包裹选择:通常采用启发算法(如遗传算法、模拟退火等)来搜索最优特征子集。 - 过滤选择:主要采用统计分析方法(如卡方检验、互信息等)来筛选重要特征。 - 嵌入式选择:通常采用正则化方法(如L1、L2正则化)来学习到最优的特征子集和分类器模型。 3. 计算代价不同: - 包裹选择:计算代价最高,需要对每个候选特征子集进行模型训练和评估。 - 过滤选择:计算代价较低,只需要对特征进行统计分析。 - 嵌入式选择:计算代价介于包裹选择和过滤选择之间,需要在模型训练过程中进行特征选择和分类器模型学习。 综上所述,这三种特征选择方法各有优缺点,需要根据具体的场景和需求选择合适的方法
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值