Nie dostaję różnicy między rfobject$importance
i importance(rfobject)
w kolumnie MeanDecreaseAccuracy.
Przykład:
> 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
>
Otrzymuję różne wartości MeanDecreaseAccuracy, ale mam tę samą kolejność dla zmiennych ważności (zarówno dla, fit$importance
jak i dla importance(fit)
):
Płatek. Szerokość
Płatek Długość
Długość osobna
Sepal.Width
Ale w innych zestawach danych czasami otrzymuję różne zamówienia. Czy ktoś może wyjaśnić, co się tutaj dzieje? Czy to prawdopodobnie błąd?
Edytuj (w odpowiedzi na Martin O'Leary )
Ok, dzięki! Zauważyłem coś jeszcze.
Patrząc na rfcv()
funkcję, zauważyłem linię:
impvar <- (1:p)[order(all.rf$importance[, 1], decreasing = TRUE)]
za pomocą tego wiersza wybieramy pierwszą kolumnę, all.rf$importance
która podaje nam kolejność miar specyficznych dla klasy (dla pierwszego czynnika ) obliczonych jedynie jako średni spadek dokładności. Nie zawsze ma to tę samą kolejność, co średni spadek dokładności we wszystkich klasach ( MeanDecreaseAccuracy
). Czy nie byłoby lepiej, wybierając albo MeanDecreaseAccuracy
czy MeanDecreaseGini
kolumna, albo lepiej za pomocą importance()
-function dla skalowane wartości? Mielibyśmy więc sekwencyjnie zmniejszoną liczbę predyktorów uszeregowanych według zmiennej ważności (we wszystkich klasach) i nie tylko uszeregowanych według zmiennej ważności dla pierwszej klasy.