我在理解如何解释“随机森林”软件包的可变重要性输出时遇到了一些困难。准确度的平均下降通常被描述为“由于置换每个特征中的值而导致的模型准确度的下降”。
这是关于整个功能还是关于功能中的特定值的声明?在这两种情况下,通过从模型中删除有问题的特征(或特征中的值)而将未正确分类的观测值的数量或比例平均准确率降低了吗?
假设我们有以下模型:
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的平均准确度降低幅度如此之低,以至于它在此度量中是最高的,那么其他变量在此度量中的值甚至更低?