ランダムフォレストパッケージからの変数の重要度の出力を解釈する方法を理解するのに少し苦労しています。通常、精度の平均低下は、「各フィーチャの値を並べ替えることによるモデルの精度の低下」として説明されます。
これは、機能全体または機能内の特定の値に関する記述ですか?どちらの場合でも、平均精度の低下は、問題のフィーチャ(またはフィーチャからの値)をモデルから削除することによって誤って分類された観測の数または割合ですか?
次のモデルがあるとします。
require(randomForest)
data(iris)
set.seed(1)
dat <- iris
dat$Species <- factor(ifelse(dat$Species=='virginica','virginica','other'))
model.rf <- randomForest(Species~., dat, ntree=25,
importance=TRUE, nodesize=5)
model.rf
varImpPlot(model.rf)
Call:
randomForest(formula = Species ~ ., data = dat, ntree = 25,
proximity = TRUE, importance = TRUE, nodesize = 5)
Type of random forest: classification
Number of trees: 25
No. of variables tried at each split: 2
OOB estimate of error rate: 3.33%
Confusion matrix:
other virginica class.error
other 97 3 0.03
virginica 2 48 0.04
このモデルでは、OOBレートはかなり低くなっています(約5%)。ただし、この測定値の最大値を持つ予測子(Petal.Length)の平均精度の低下は、約8にすぎません。
これは、モデルからPetal.Lengthを削除すると、平均で8個程度の観測値の誤分類が追加されるということですか?
Petal.Lengthの平均精度の低下は、この測定値で最高であり、この測定値で他の変数の値がさらに低い場合、どのように低くなりますか?