赞
踩
一个数据集中往往有成百上前个特征,如何在其中选择比结果影响最大的那几个特征。
这里我们要介绍的是用随机森林来对进行特征筛选。
用随机森林进行特征重要性评估的思想其实很简单,说白了就是看看每个特征在随机森林中的每颗树上做了多大的贡献,然后取个平均值,最后比一比特征之间的贡献大小。
好了,那么这个贡献是怎么一个说法呢?
通常可以用基尼指数(Gini index)或者袋外数据(OOB)错误率作为评价指标来衡量。
参考文献 https://blog.csdn.net/zjuPeco/article/details/77371645?locationNum=7&fps=1
参考文献 http://blog.sina.com.cn/s/blog_7103b28a0102w7q1.html
计算某个特征X的重要性时,具体步骤如下:
1)对每一颗决策树,选择相应的袋外数据(out of bag,OOB)计算袋外数据误差,记为errOOB1.
袋外数据是指,每次建立决策树时,通过重复抽样得到一个数据用于训练决策树,这时还有大约1/3的数据没有被利用,没有参与决策树的建立。这部分数据可以用于对决策树的性能进行评估,计算模型的预测错误率,称为袋外数据误差。
已经过证明是无偏估计的,所以在随机森林算法中不需要再进行交叉验证或者单独的测试集来获取测试集误差的无偏估计。
2)随机对袋外数据OOB所有样本的特征X加入噪声干扰(可以随机改变样本在特征X处的值),再次计算袋外数据误差,记为errOOB2。
3)假设森林中有N棵树,则特征X的重要性=∑(errOOB2-errOOB1)/N。这个数值之所以能够说明特征的重要性是因为,如果加入随机噪声后,袋外数据准确率大幅度下降(即errOOB2上升),说明这个特征对于样本的预测结果有很大影响,进而说明重要程度比较高。
可参考的文献
https://www.cnblogs.com/zhouxiaohui888/p/6008454.html
https://blog.csdn.net/xiaocong1990/article/details/61414747
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。