У меня возникают трудности с пониманием того, как интерпретировать выходные данные переменной важности из пакета Random Forest. Среднее снижение точности обычно описывается как «снижение точности модели из-за изменения значений в каждой функции».
Это утверждение о функции в целом или о конкретных значениях в функции? В любом случае, означает ли среднее снижение точности количество или долю наблюдений, которые были неправильно классифицированы путем удаления рассматриваемого элемента (или значений из элемента) из модели?
Скажем, у нас есть следующая модель:
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 быть настолько низким, учитывая, что оно является самым высоким в этой мере, и, таким образом, другие переменные имеют даже более низкие значения для этой меры?