Saya mengalami beberapa kesulitan memahami bagaimana menafsirkan variabel pentingnya output dari paket Random Forest. Penurunan akurasi dalam akurasi biasanya digambarkan sebagai "penurunan akurasi model dari permutasi nilai di setiap fitur".
Apakah ini pernyataan tentang fitur secara keseluruhan atau tentang nilai-nilai spesifik di dalam fitur? Dalam kedua kasus, apakah Mean Decrease in Accuracy jumlah atau proporsi pengamatan yang salah diklasifikasikan dengan menghapus fitur (atau nilai-nilai dari fitur) dipertanyakan dari model?
Katakanlah kita memiliki model berikut:
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
Dalam model ini, tingkat OOB agak rendah (sekitar 5%). Namun, Mean Decrease in Accuracy untuk prediktor (Petal.Length) dengan nilai tertinggi dalam ukuran ini hanya sekitar 8.
Apakah ini berarti bahwa menghilangkan Petal. Panjang dari model hanya akan menghasilkan kesalahan klasifikasi tambahan sekitar 8 atau lebih pengamatan rata-rata?
Bagaimana Mean Mengurangi Akurasi untuk Petal. Panjangnya bisa sangat rendah, mengingat itu yang tertinggi dalam ukuran ini, dan dengan demikian variabel lain bahkan memiliki nilai yang lebih rendah pada ukuran ini?