我不明白的之间的差异rfobject$importance
,并importance(rfobject)
在MeanDecreaseAccuracy列。
例:
> data("iris")
> fit <- randomForest(Species~., data=iris, importance=TRUE)
> fit$importance
setosa versicolor virginica MeanDecreaseAccuracy MeanDecreaseGini
Sepal.Length 0.027078501 0.019418330 0.040497602 0.02898837 9.173648
Sepal.Width 0.008553449 0.001962036 0.006951771 0.00575489 2.472105
Petal.Length 0.313303381 0.291818815 0.280981959 0.29216790 41.284869
Petal.Width 0.349686983 0.318527008 0.270975757 0.31054451 46.323415
> importance(fit)
setosa versicolor virginica MeanDecreaseAccuracy MeanDecreaseGini
Sepal.Length 1.277324 1.632586 1.758101 1.2233029 9.173648
Sepal.Width 1.007943 0.252736 1.014141 0.6293145 2.472105
Petal.Length 3.685513 4.434083 4.133621 2.5139980 41.284869
Petal.Width 3.896375 4.421567 4.385642 2.5371353 46.323415
>
我得到了不同的MeanDecreaseAccuracy值,但重要性变量(fit$importance
和importance(fit)
)的顺序相同:
花瓣宽度
花瓣长度
萼片长度
分隔宽度
但是在其他数据集中,我有时会得到不同的顺序。有人可以解释这里发生了什么吗?这可能是错误吗?
编辑(响应Martin O'Leary)
好的谢谢!我注意到了别的东西。
看一下rfcv()
我注意到的功能:
impvar <- (1:p)[order(all.rf$importance[, 1], decreasing = TRUE)]
在此行中,我们选择第一列,all.rf$importance
该列为我们提供了特定于类的(针对第一个因子)度量的顺序,该度量仅按平均准确性降低而计算。这并不总是与所有类别(MeanDecreaseAccuracy
)上平均准确度降低的顺序相同。选择MeanDecreaseAccuracy
or或MeanDecreaseGini
column更好,还是importance()
对比例值使用-function 更好?因此,我们将具有按变量减少的重要性(在所有类别中)而不是仅针对第一类的可变重要性而排名的预测变量数量。