【发布时间】:2014-08-02 03:38:11
【问题描述】:
我需要一些帮助来了解 R 可用的随机森林包中内置的重要性功能。
运行随机森林 (rf) 后,可以使用 rf$importance 访问重要性。然后返回的数据帧包含两个字段:%IncMSE 和 IncNodePurity。
它们都可以使用随机森林包中内置的 varImpPlot() 函数进行绘制。但是,绘制的 %IncMSE 值与使用前面提到的方法 (rf$importance) 访问的结果不对应。
让我通过一个例子来解释这个问题:
data(mtcars)
rf<-randomForest(mpg~ .,data=mtcars,importance=T,mtry=3)
rf$importance
varImpPlot(rf)
最大 %IncMSE 值为 9.91 (disp),但在绘图上最大值约为 14。绘图上和使用 rf$importance 访问的所有其他值也不同。 (注意 IncNodePurity 没有区别)
有人可以解释一下吗?哪些值是正确的?
【问题讨论】:
-
请注意,模型对象中还有一个组件称为
importanceSD。它正在绘制缩放值......并且确实有一个scale参数到varImpPlot。 -
@joran:您应该发布作为答案。如果人们想要提供负面反馈,因为提问者应该阅读了帮助页面并且应该定义了要应用的“正确性”标准,他们仍然可以这样做,但您的评论似乎是一个足够的答案。
标签: r random-forest