У мене виникають труднощі з розумінням того, як інтерпретувати вихідний показник важливості з пакету 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 спостережень?
Як середнє зниження точності пелюсток. Довголіття може бути настільки низьким, враховуючи, що це найвищий показник у цій мірі, і, отже, інші змінні мають ще нижчі значення цього показника?