使用随机森林(Random Forest)进行特征筛选并可视化

Posted Data+Science+Insight

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用随机森林(Random Forest)进行特征筛选并可视化相关的知识,希望对你有一定的参考价值。

使用随机森林(Random Forest)进行特征筛选并可视化

 

随机森林可以理解为Cart树森林,它是由多个Cart树分类器构成的集成学习模式。其中每个Cart树可以理解为一个议员,它从样本集里面随机有放回的抽取一部分进行训练,这样,多个树分类器就构成了一个训练模型矩阵,可以理解为形成了一个议会吧。

 

然后将要分类的样本带入这一个个树分类器,然后以少数服从多数的原则,表决出这个样本的最终分类类型。

设有N个样本,M个变量(维度)个数,该算法具体流程如下:

1. 确定一个值m,它用来表示每个树分类器选取多少个变量。(注意这也是随机的体现之一)
2. 从数据集中有放回的抽取 k 个样本集,用它们创建 k 个树分类器。另外还伴随生成了 k 个袋外数据,用来后面做检测。
3. 输入待分类样本之后,每个树分类器都会对它进行分类,然后所有分类器按照少数服从多数原则,确定分类结果。

 

一般情况下,数据集的特征成百上千,因此有必要从中选取对结果影响较大的特征来进行进一步建模,相关的方法有:主成分分析、lasso等,这里我们介绍的是通过随机森林来进行筛选。

用随机森林进行特征重要性评估的思想比较简单,主要是看每个特征在随机森林中的每棵树上做了多大的贡献,然后取平均值,最后比较不同特征之间的贡献大小。

贡献度的衡量指标包括:基尼指数(gini)、袋外数据(OOB)错误率作为评价指标来衡量。

衍生知识点:权重随机森林的应用(用于增加小样本的识别概率,从而提高总体的分类准确率)<

以上是关于使用随机森林(Random Forest)进行特征筛选并可视化的主要内容,如果未能解决你的问题,请参考以下文章

随机森林(Random Forest, RF)

Random Forest面试要点总结

Random Forest And Extra Trees

Scikit learn + Random Forest - 单棵树的特征

随机森林算法(Random Forest)Python实现

随机森林(Random Forest)和梯度提升树(GBDT)有什么区别?