随机森林中可变重要性的度量


40

我一直在尝试使用随机森林进行回归,并且很难准确地确定出重要性的两个指标的含义以及如何解释它们。

importance()函数为每个变量提供两个值:%IncMSEIncNodePurity。这两个值是否有简单的解释?

对于IncNodePurity特别是,这仅仅是一个量的去除变量继RSS增加?


1
你看了?importance吗?关于这两种措施的含义有一个解释……
Nick Sabbe 2011年

2
@Nick Sabbe,我有,我想把头缠在他们周围。我想知道他们是否有任何很好的直观解释。
dcl

Answers:


42

第一个可以按如下方式“解释”:如果预测变量在当前模型中很重要,则为该预测变量随机但实际地分配其他值(即:在数据集上置换该预测变量的值)应该产生负面影响关于预测,即:使用相同的模型从除了一个变量之外的相同数据进行预测,应该给出较差的预测。

因此,您对原始数据集然后对“置换”数据集进行了预测性度量(MSE),然后以某种方式进行比较。一种方法,特别是由于我们希望原始MSE总是较小,因此可以采取不同的方法。最后,为了使这些值与变量可比,对它们进行缩放。

对于第二个问题:在每个拆分中,您可以计算此拆分减少了多少节点杂质(对于回归树,实际上是拆分前后的RSS之差)。在所有树上,对该变量的所有拆分求和。

注意:Hastie,Tibshirani和Friedman 的《统计学习元素》是一本好书...


3
干杯,我实际上已经打开这本书了:)
dcl

RSS是什么意思?
DavideChicco.it,2016年


10

在R中的randomForest包中实现的随机森林重要性指标存在一些古怪之处,即相关的预测变量的重要性值较低。

http://bioinformatics.oxfordjournals.org/content/early/2010/04/12/bioinformatics.btq134.full.pdf

我在CRAN上修改了随机森林的实现,该实现采用了估计经验p值和错误发现率的方法,在这里

http://cran.r-project.org/web/packages/pRF/index.html


1
如果将randomForest与插入符号包(如caret::train(method="rf", importance = TRUE, ...)??)一起使用,这是否解释了变量重要性的不同输出?
敏捷豆
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.