rfobject$importance
와 importance(rfobject)
MeanDecreaseAccuracy 열에서 차이를 얻지 못합니다.
예:
> data("iris")
> fit <- randomForest(Species~., data=iris, importance=TRUE)
> fit$importance
setosa versicolor virginica MeanDecreaseAccuracy MeanDecreaseGini
Sepal.Length 0.027078501 0.019418330 0.040497602 0.02898837 9.173648
Sepal.Width 0.008553449 0.001962036 0.006951771 0.00575489 2.472105
Petal.Length 0.313303381 0.291818815 0.280981959 0.29216790 41.284869
Petal.Width 0.349686983 0.318527008 0.270975757 0.31054451 46.323415
> importance(fit)
setosa versicolor virginica MeanDecreaseAccuracy MeanDecreaseGini
Sepal.Length 1.277324 1.632586 1.758101 1.2233029 9.173648
Sepal.Width 1.007943 0.252736 1.014141 0.6293145 2.472105
Petal.Length 3.685513 4.434083 4.133621 2.5139980 41.284869
Petal.Width 3.896375 4.421567 4.385642 2.5371353 46.323415
>
나는 다른 MeanDecreaseAccuracy 값을 얻을 수 있지만, 중요한 변수에 대해 동일한 순서가 (에 fit$importance
잘만큼이나 importance(fit)
) :
꽃잎. 폭
꽃잎 길이
Sepal. 길이
Sepal.Width
그러나 다른 데이터 세트에서 때로는 다른 순서를 얻습니다. 누군가 여기서 무슨 일이 일어나고 있는지 설명 할 수 있습니까? 이것은 버그일까요?
편집 ( 마틴 O'Leary 에 대한 응답 )
괜찮 감사! 나는 다른 것을 알아 차렸다.
rfcv()
함수를 살펴보면 다음 줄을 발견했습니다.
impvar <- (1:p)[order(all.rf$importance[, 1], decreasing = TRUE)]
이 줄을 사용하여 첫 번째 열을 선택하면 정확도의 평균 감소로 계산 된 all.rf$importance
클래스 별 ( 첫 번째 요인에 대한 ) 측정 값 의 순서를 제공합니다. 모든 클래스에서 정확도가 평균 감소하는 순서와 항상 같은 순서는 아닙니다 ( MeanDecreaseAccuracy
). MeanDecreaseAccuracy
또는 MeanDecreaseGini
열을 선택하는 것이 좋 거나 importance()
스케일링 된 값에-함수를 사용하는 것이 더 좋지 않습니까? 따라서 우리는 첫 번째 클래스의 변수 중요도뿐만 아니라 변수 중요도 (모든 클래스에서)로 순위가 매겨진 예측 변수 수를 순차적으로 줄였습니다.