Miary o zmiennym znaczeniu w losowych lasach


40

Bawiłem się losowymi lasami w celu regresji i mam trudności z ustaleniem, co dokładnie oznaczają dwie miary ważności i jak należy je interpretować.

importance()Funkcja daje dwie wartości dla każdej zmiennej: %IncMSEa IncNodePurity. Czy istnieją proste interpretacje tych 2 wartości?

W IncNodePurityszczególności, czy jest to po prostu kwota wzrostu RSS po usunięciu tej zmiennej?


1
Czy spojrzał ?importance? Istnieje wyjaśnienie, co oznaczają oba środki ...
Nick Sabbe

2
@Nick Sabbe, mam i próbuję owinąć wokół nich głowę. Zastanawiałem się, czy są dla nich jakieś intuicyjne interpretacje.
dcl

Odpowiedzi:


42

Pierwszy z nich można „zinterpretować” w następujący sposób: jeśli predyktor jest ważny w bieżącym modelu, wówczas przypisanie innych wartości do tego predyktora losowo, ale „realistycznie” (tj. Dopuszczając wartości tego predyktora w zbiorze danych), powinien mieć negatywny wpływ na przewidywanie, tj .: użycie tego samego modelu do przewidywania na podstawie danych, które są takie same, z wyjątkiem jednej zmiennej, powinno dać gorsze przewidywania.

Zatem bierzesz miarę predykcyjną (MSE) z oryginalnym zestawem danych, a następnie z zestawem danych „permutowanych” i porównujesz je w jakiś sposób. Jeden sposób, zwłaszcza że spodziewamy się, że oryginalny MSE będzie zawsze mniejszy, różnicę można wziąć. Wreszcie, aby wartości były porównywalne ze zmiennymi, są one skalowane.

Po drugie: przy każdym podziale możesz obliczyć, o ile ten podział zmniejsza zanieczyszczenie węzłów (w przypadku drzew regresji, faktycznie różnica między RSS przed i po podziale). Jest to sumowane dla wszystkich podziałów dla tej zmiennej, dla wszystkich drzew.

Uwaga: dobra lektura to Elementy nauki statystycznej autorstwa Hastie, Tibshirani i Friedmana ...


3
Na zdrowie, mam tę książkę teraz otwartą :)
dcl

Co oznacza RSS?
DavideChicco.it


10

Miary ważności lasu losowego zaimplementowane w pakiecie randomForest w R mają dziwactwa, ponieważ skorelowane predyktory otrzymują niskie wartości ważności.

http://bioinformatics.oxfordjournals.org/content/early/2010/04/12/bioinformatics.btq134.full.pdf

Mam zmodyfikowaną implementację losowych lasów na CRAN, która implementuje swoje podejście do szacowania empirycznych wartości p i współczynników fałszywych odkryć, tutaj

http://cran.r-project.org/web/packages/pRF/index.html


1
czy to wyjaśnia różne wyniki o różnym znaczeniu, jeśli używasz randomForest z pakietem Caret, takim jak caret::train(method="rf", importance = TRUE, ...)?
Agile Bean
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.