我需要一些帮助来理解随机森林包中为R提供的重要性功能。
在运行随机森林(rf)之后,可以使用rf$importance来访问重要性。然后返回的数据帧包含两个字段:%IncMSE和IncNodePurity。
这两者都可以使用随机森林包中内置的varImpPlot()函数来绘制。但是,绘制的%IncMSE值与前面提到的方法访问的结果不对应(rf$重要性)。
让我用一个例子来解释这个问题:
data(mtcars)
rf<-randomForest(mpg~ .,data=mtcars,importance=T,mtry=3)
rf$importance
varImpPlot(rf)
最大%IncMSE值为9.91 (disp),但绘图上的最大值约为14。绘图上使用rf$importance访问的所有其他值也不同。(请注意,IncNodePurity没有区别)
有人能解释一下吗?哪些值是正确的?
发布于 2014-06-12 01:44:45
正如我在评论中指出的,它们不同的原因是因为varImpPlot
使用随机森林对象的importanceSD
组件绘制缩放值。这可以使用varImpPlot
的scale
参数来控制。
https://stackoverflow.com/questions/24173781
复制