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의 평균 정확도가 어떻게이 측정 값에서 가장 높고 다른 변수가이 측정 값에서 더 낮을 때 어떻게 낮아질 수 있습니까?