我爱编程

RF和Feature Importance函数

2018-04-11  本文已影响0人  yz_wang

RF原理

随机森林中每颗树的生成:

Bagging集成学习,投票或加权投票来决定分类。



几个问题

为什么要随机抽样训练集?(add @2016.05.28)

为什么要有放回地抽样?(add @2016.05.28)

这两个随机有什么好处?

随机森林分类效果与什么有关?



袋外错误率--近似于交叉验证

构建随机森林的关键问题就是如何选择最优的m,要解决这个问题主要依据计算袋外错误率oob error(out-of-bag error)。

我们知道,在构建每棵树时,我们对训练集使用了不同的bootstrap sample(随机且有放回地抽取)。所以对于每棵树而言(假设对于第k棵树),大约有1/3的训练实例没有参与第k棵树的生成,它们称为第k棵树的oob样本。
而这样的采样特点就允许我们进行oob估计,它的计算方式如下:



Feature Importance函数

在特征选择的许多方法中,我们可以使用随机森林模型中的特征重要属性来筛选特征,并得到其与分类的相关性。
由于随机森林存在的固有随机性,该模型可能每次给予特征不同的重要性权重。但是通过多次训练该模型,即每次通过选取一定量的特征与上次特征中的交集进行保留,以此循环一定次数,从而我们最后可以得到一定量对分类任务的影响有重要贡献的特征。

具体来说,在随机森林中某个特征X的重要性的计算方法如下:

1:对于随机森林中的每一颗决策树,使用相应的OOB(袋外数据)数据来计算它的袋外数据误差,记为errOOB1.

2: 随机地对袋外数据OOB所有样本的特征X加入噪声干扰(就可以随机的改变样本在特征X处的值),再次计算它的袋外数据误差,记为errOOB2.

3:假设随机森林中有Ntree棵树,那么对于特征X的重要性=∑(errOOB2-errOOB1)/Ntree,之所以可以用这个表达式来作为相应特征的重要性的度量值是因为:若给某个特征随机加入噪声之后,袋外的准确率大幅度降低,则说明这个特征对于样本的分类结果影响很大,也就是说它的重要程度比较高。

上一篇 下一篇

猜你喜欢

热点阅读