我需要一些帮助来理解R中可用的随机林包中构建的重要性功能。
运行随机林(rf)后,可以使用rf $ important访问重要性。然后返回的数据框包含两个字段:%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 $ important访问的值也不同。 (请注意,IncNodePurity没有差异)
有人可以解释一下吗?哪些值是正确的?
答案 0 :(得分:2)
正如我在评论中提到的,它们不相同的原因是因为varImpPlot
正在使用随机林对象的importanceSD
组件绘制缩放值。这可以使用scale
的{{1}}参数进行控制。