特征选择/相关性

一、去掉取值变化小的特征:可通过计算方差来衡量。

二、单变量特征选择:

1、Pearson相关系数中,会提到p-value。p-value用来反应显著水平。如果两变量间不显著,相关系数再高也没有用,可能只是偶然因素引起的。一般p值小于0.05就是显著了,如果小于0.01就更显著了。例如p值=0.001,就是很高的显著水平了,只要显著,就可以下结论说,拒绝原假设无关,两组数据显著相关,也可以说,两者之间确实有明显关系。通常,需要p值小于0.1,最好小于0.05甚至0.01,才可以得出结论,即两组数据有明显关系。如果p=0.5,远大于0.1,只能说明相关程度不明显,甚至不相关,起码不能说是线性相关。

2、Pearson相关系数,通常也成为R值,在确认上面指标显著的情况下,再来看这个指标,一般相关系数越高,表明两者间关系越密切。

3、互信息:

互信息用于特征选择,不太方便。互信息不属于度量方式,没有办法归一化,在不同数据集上的结果无法作比较。对于连续型变量计算不方便,因为他要求先离散化,而互信息的结果对离散化的方式很敏感。

4、最大信息系数(MIC)克服了上述互信息的问题。它首先寻找一种最优的离散化方法,然后把互信息取值转换为一种度量方式,取值区间在[0,1]。python的minepy包中提供了MIC功能。

但是,MIC的统计能力遭到了一些质疑,当零假设不成立时,MIC的统计结果就会受到影响。零假设:在统计学中,零假设(虚无假设)是做统计检验时的一类假设,零假设的内容一般是希望证明错误的假设。如果我们要研究两个时间的关系时,零假设的意思就是说,两件事情之间没有关系。

5、距离相关系数

距离相关系数是为了客服Pearson相关系数的弱点而生,在x和x^2的相关性这个例子中,Pearson相关系数为0,我们不能断定这两个变量是独立的,但是如果距离相关系数为0,那么我们可以说这两个变量是独立的。

尽管MIC和距离相关系数都在了,但当变量之间的关系接近新乡相关的时候,Pearson相关系数仍然不可替代,第一,Pearson香瓜系数计算速度非常快,在处理大规模数据的时候很重要,第二,Pearson相关系数的取值区间[-1,1],而MIC和距离相关系数取值范围都是[0,1]。这个特点使得Pearson相关系数能够表征更丰富的关系,符号表示关系的正负,绝对值表示强度。当然,Pearson相关系数有效的前提是两个变量的变化关系时单调的。

6、基于学习模型的特征排序

直接使用你要用的机器学习算法,针对单独的特征和相应变量建立预测模型。

三、线性模型和正则化

单变量特征选择方法独立的衡量每个特征与相应变量之间的关系,另一种主流的特征选择方法是基于机器学习模型的方法。有些机器学习方法本身就具有对特征进行打分的机制,或者很容易将其运用到特征选择任务中,例如回归模型、svm、决策树等等。这种方法好像叫做wrapper类型,大概意思是说,特征排序模型和机器学习模型耦合在一起,对应的非wrapper类型的特征选择方法叫做filter类型。

如何回归模型的系数来选择特征,越是重要的特征在模型中对应的系数就越大,而跟输出变量越无关的特征对用的系数就越接近0.在噪音不多的数据集上,或者在数据量远远大于特征数的数据集上,如果特征之间相对来说比较独立,那么即便是应用简单的线性回归模型,也能取得好滴效果。

L1正则化:将L1范数作为惩罚项加到损失函数上,由于正则项非零,这就迫使那些弱的特征所对应的系数变成0.因此,L1正则化往往会得到的模型很系数。这个特性使得L1正则化成为很好的特征选择方法。提高惩罚项的系数,模型就会变得越来越稀疏。L1正则化不稳定,如果特征集合中存在相关联的特征,当数据发生卫星的变化时,也有可能导致很大的模型差异。

L2正则化:L2正则化会让系数的取值变得平均。对于关联特征,这意味着他们能够获得更想近的对应系数。还是以Y=X1+X2为例,假设X1和X2具有很强的关联,如果用L1正则化,不论学到的模型是Y=X1+X2还是Y=2X1,惩罚都是一样的,都是2 alpha。但是对于L2来说,第一个模型的惩罚项是2 alpha,但第二个模型的是4*alpha。可以看出,系数之和为常数时,各系数相等时惩罚是最小的,所以才有了L2会让各个系数趋于相同的特点。

四、随机森林

随机森林提供两种特征选择方法:平均不纯度减少和平均精确率减少。

随机森林由多个决策树构成。树中每个节点都是关于某个特征的条件,为的是将数据集按照不同的响应变量一分为二,利用不纯度可以确定节点。对于分类问题,通常采用基尼不纯度或者信息增益。对于回归问题,通常采用的是方差或者最小二乘拟合。当训练决策树的时候,可以计算出每个特征减少了多少树的不纯度。对于一个决策树森铃来说,可以算出每个特征平均减少了多少不纯度,并把它平均减少的不纯度作为特征选择的值。

使用基于不纯度的方法的时候,要记住:1、这种方法存在 偏向 ,对具有更多类别的变量会更有利;2、对于存在关联的多个特征,其中任意一个都可以作为指示器(优秀的特征),并且一旦某个特征被选择之后,其他特征的重要度就会急剧下降,因为不纯度已经被选中的那个特征降下来了,其他的特征就很难再降低那么多不纯度了,这样一来,只有先被选中的那个特征重要度很高,其他的关联特征重要度往往较低。在理解数据时,这就会造成误解,导致错误的认为先被选中的特征是很重要的,而其余的特征是不重要的,但实际上这些特征对响应变量的作用确实非常接近的(这跟Lasso是很像的)。

 

参考:https://blog.csdn.net/chenpe32cp/article/details/79644803

 

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值