Losowy las: co, jeśli wiem, że zmienna jest ważna


12

Rozumiem, że losowy las wybiera losowo zmienne mtry do zbudowania każdego drzewa decyzyjnego. Jeśli więc mtry = ncol / 3, wówczas każda zmienna zostanie użyta średnio w 1/3 drzew. I 2/3 drzew ich nie wykorzysta.

Ale co, jeśli wiem, że jedna zmienna jest prawdopodobnie bardzo ważna, czy dobrze byłoby ręcznie zwiększyć prawdopodobieństwo, że zmienna zostanie wybrana w każdym drzewie? Czy jest to możliwe dzięki pakietowi randomForest w R?

Odpowiedzi:


6

Zauważ, że mtryto liczba zmiennych losowo próbkowanych jako kandydaci przy każdym podziale. A spośród tych kandydatów najlepiej wybrać podział. Dlatego proporcja, o której wspomniałeś, nie jest całkowicie zaspokojona. Ważniejsze zmienne pojawiają się częściej, a mniej ważne - rzadziej. Jeśli więc zmienna jest naprawdę bardzo ważna, istnieje duże prawdopodobieństwo, że zostanie ona pobrana z drzewa i nie potrzebujesz ręcznej korekty. Ale czasami (rzadko) zachodzi potrzeba wymuszenia obecności jakiejś zmiennej (niezależnie od jej możliwego znaczenia) w regresji. O ile mi wiadomo pakiet R losowy las nie obsługuje takiej możliwości. Ale jeśli ta zmienna nie ma wzajemnych korelacji z innymi, możesz wykonać zwykłą regresję z tą zmienną jako pojedynczy termin, a następnie uruchomić losową regresję leśną na pozostałościach tej zwykłej regresji. Jeśli nadal chcesz poprawić możliwość wyboru wstępnie określonych zmiennych, możesz zmodyfikować kod źródłowy przy następnej kompilacji.


2
Jeśli potrzebujesz n drzew, aby uzyskać przyzwoite przybliżenie funkcji docelowej, ale szukasz zmiennej ważności, możesz ustawić coś w rodzaju 5 * n lub 10 * n drzew w lesie. Będą one bardziej zbieżne, nie przy „błędzie dopasowania”, ale przy zmianie o zmiennym znaczeniu.
EngrStudent,

5

Od czerwca 2015 r. Nowy obiecujący algorytm RF na R-CRAN o nazwie „ranger” ma tę funkcję. Jest modyfikowany za pomocą, split.select.weights : „Wektor numeryczny o wagach od 0 do 1, reprezentujący prawdopodobieństwo wyboru zmiennych do podziału”.

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.