随机森林的特征重要性的计算
1. 使用构造决策树的增益来计算
构造决策树的时候,可能是使用的信息增益(ID3)、信息增益比(C4.5),或者基尼指数(cart),那么当我们选择某个特征进行分裂节点时,这个特征让信息增加了多少(或者说让数据的纯度提升了多少)?把每棵树用到的每个特征的这个 增益值 算出来,然后算一个平均增益,现在就拥有了特征的平均增益值,可以根据这个来判断特征的重要性,当然为了客观的呈现,使用归一化后的增益值,更可以衡量重要性程度。
2. 使用袋外误差来计算
在随机森林中某个特征X的重要性的计算方法如下:
对于随机森林中的每一颗决策树,使用相应的OOB(袋外数据)数据来计算它的袋外数据误差,记为errOOB1.
可以发现Bootstrap每次约有1/3的样本不会出现在Bootstrap所采集的样本集合中,当然也就没有参加决策树的建立,那是不是意味着就没有用了呢,答案是否定的。我们把这1/3的数据称为袋外数据oob(out of bag),它可以用于取代测试集误差估计方法.
随机地对袋外数据OOB所有样本的特征X加入噪声干扰(就可以随机的改变样本在特征X处的值),再次计算它的袋外数据误差,记为errOOB2.
- 假设随机森林中有Ntree棵树,那么对于特征X的重要性=∑(errOOB2-errOOB1)/Ntree,然后求出所有特征的重要性,然后归一化。之所以可以用这个表达式来作为相应特征的重要性的度量值是因为:若给某个特征随机加入噪声之后,袋外的准确率大幅度降低,则说明这个特征对于样本的分类结果影响很大,也就是说它的重要程度比较高。
**
