Mam trudności ze zrozumieniem, jak interpretować dane wyjściowe o zmiennej ważności z pakietu Losowy las. Średni spadek dokładności jest zwykle opisywany jako „spadek dokładności modelu po permutacji wartości w każdej funkcji”.
Czy to stwierdzenie o obiekcie jako całości, czy o określonych wartościach w obiekcie? W obu przypadkach, czy średni spadek dokładności to liczba lub odsetek obserwacji, które zostały nieprawidłowo sklasyfikowane przez usunięcie danej cechy (lub wartości z cechy) z modelu?
Powiedzmy, że mamy następujący model:
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
W tym modelu wskaźnik OOB jest raczej niski (około 5%). Jednak średni spadek dokładności dla predyktora (długość płatka) o najwyższej wartości w tej mierze wynosi tylko około 8.
Czy to oznacza, że usunięcie Płatka z modelu spowodowałoby jedynie dodatkowe błędne sklasyfikowanie średnio około 8 obserwacji?
Jak średni spadek dokładności płatka może być tak niski, biorąc pod uwagę, że jest on najwyższy w tej mierze, a zatem inne zmienne mają jeszcze niższe wartości dla tej miary?
Odpowiedzi:
„ Czy to stwierdzenie o obiekcie jako całości, czy o określonych wartościach w obiekcie? ”
„ W obu przypadkach, czy średni spadek dokładności to liczba lub odsetek obserwacji, które zostały nieprawidłowo sklasyfikowane poprzez usunięcie danej cechy (lub wartości z cechy) z modelu? ”
- „ Czy to oznacza, że usunięcie Płatka. Długość z modelu spowodowałoby jedynie dodatkowe błędne sklasyfikowanie średnio około 8 obserwacji? ”
„ Jak średni spadek dokładności płatka może być tak niski, biorąc pod uwagę, że jest on najwyższy w tej mierze, a zatem inne zmienne mają jeszcze mniejsze wartości w tej mierze? ”
Używaj głównie znaczenia zmiennej, głównie do oceny przydatności zmiennych. Jasna interpretacja wartości bezwzględnych o różnym znaczeniu jest trudna do wykonania.
GINI: Ważność GINI mierzy średni przyrost czystości poprzez podziały danej zmiennej. Jeśli zmienna jest przydatna, ma tendencję do dzielenia mieszanych oznaczonych węzłów na czyste węzły pojedynczej klasy. Podział na zmienne permutowane nie ma tendencji do zwiększania ani zmniejszania czystości węzłów. Pozwalając na użyteczną zmienną, mają tendencję do dawania stosunkowo dużego spadku średniego wzmocnienia gini. Znaczenie GINI jest ściśle związane z lokalną funkcją decyzyjną, której losowy las używa do wyboru najlepszego dostępnego podziału. Dlatego obliczenie nie zajmuje dużo czasu. Z drugiej strony, średni zysk gini w lokalnych podziałach, niekoniecznie jest najbardziej przydatny do zmierzenia, w przeciwieństwie do zmiany ogólnej wydajności modelu. Ważność Gini jest ogólnie niższa niż zmienna (oparta na permutacji), ponieważ jest stosunkowo bardziej tendencyjna, bardziej niestabilna i ma tendencję do odpowiedzi na bardziej pośrednie pytanie.
źródło
Oto opis średniego spadku dokładności (MDA) z podręcznika pomocy randomForest:
Zgodnie z opisem „dokładność” w MDA w rzeczywistości odnosi się do dokładności modeli pojedynczych drzew , niezależnie od tego, że bardziej interesuje nas wskaźnik błędów lasu . Więc,
Uwaga: procedura MDA opisana przez Sorena różni się od implementacji pakietu randomForest. Jest bliżej tego, czego oczekujemy od MDA: zmniejszenia dokładności całego modelu lasu. Jednak model prawdopodobnie będzie pasował inaczej bez Płatka i będzie polegał bardziej na innych predyktorach. Zatem MDA Sorena byłby zbyt pesymistyczny.
źródło
Niedawny (post na blogu) [ https://explained.ai/rf-importance/index.html] zespołu z University of San Francisco pokazuje, że domyślne strategie ważności zarówno w R (randomForest), jak i Python (scikit) są zawodne w wielu scenariuszach danych. W szczególności średni spadek wskaźników ważności zanieczyszczeń jest tendencyjny, gdy potencjalne zmienne predykcyjne różnią się skalą pomiaru lub liczbą kategorii.
Artykuły i post na blogu pokazują, w jaki sposób zmienne ciągłe i wysokie liczebność są preferowane przy średnim spadku rankingów ważności zanieczyszczeń, nawet jeśli są one równie nieinformacyjne w porównaniu ze zmiennymi o mniejszej kategorii. W takich przypadkach autorzy sugerują użycie ważności permutacji zamiast domyślnej. Jeśli zmienne predykcyjne w twoim modelu są wysoce skorelowane, sugerowane jest znaczenie permutacji warunkowej.
Zanieczyszczenie jest tendencyjne, ponieważ za każdym razem, gdy punkt zmienny jest wybierany w zmiennej, każdy poziom zmiennej jest testowany w celu znalezienia najlepszego punktu przerwania. Zmienne ciągłe lub o wysokiej liczności będą miały znacznie więcej punktów podziału, co powoduje problem z „wielokrotnym testowaniem”. Oznacza to, że istnieje większe prawdopodobieństwo, że przez przypadek zmienna dobrze prognozuje wynik, ponieważ zmienne, w których wypróbowywanych jest więcej podziałów, pojawią się częściej w drzewie.
źródło