Wszystko jest w tytule, czy warto skorzystać z wyboru funkcji przed użyciem losowego lasu?
Wszystko jest w tytule, czy warto skorzystać z wyboru funkcji przed użyciem losowego lasu?
Odpowiedzi:
Tak, robi to i jest dość powszechne. Jeśli spodziewasz się, że ponad ~ 50% twoich funkcji nie jest nawet zbędnych, ale całkowicie bezużytecznych. Np. Pakiet randomForest ma funkcję otoki rfcv (), która wstępnie trenuje randomForest i pomija najmniej ważne zmienne. Funkcja rfcv znajduje się w tym rozdziale . Pamiętaj, aby osadzić wybór funkcji i modelowanie w zewnętrznej pętli weryfikacji krzyżowej, aby uniknąć zbyt optymistycznych wyników.
[edytuj poniżej]
Mógłbym moderować „całkowicie bezużyteczne”. Pojedynczy losowy las najczęściej nie będzie tak jak np. Regresja z regularyzacją lasso całkowicie ignoruje cechy, nawet jeśli te (w symulowanym spojrzeniu wstecznym) były cechami losowymi. Podział drzewa decyzyjnego według funkcji jest wybierany według kryteriów lokalnych w dowolnym z tysięcy lub milionów węzłów i nie można go później cofnąć. Nie opowiadam się za ograniczeniem funkcji do jednego doskonałego wyboru, ale dla niektórych zestawów danych możliwe jest osiągnięcie znacznego wzrostu wydajności prognozowania (oszacowanego przez wielokrotne zewnętrzne sprawdzanie poprawności krzyżowej) przy użyciu tego wyboru zmiennych. Typowym odkryciem byłoby to, że utrzymanie 100% funkcji lub tylko kilka procent działa gorzej, a następnie może istnieć szeroki środkowy zakres z podobną prognozowaną wydajnością prognozowania.
Być może rozsądna reguła kciuka: jeśli ktoś spodziewa się, że regularyzacja przypominająca lasso będzie lepiej służyć niż regularyzacja grzbietowa dla danego problemu, można spróbować wstępnie trenować losowy las i uszeregować cechy według wewnętrznej torby zweryfikuj ważność zmiennej i spróbuj upuścić niektóre najmniej ważne funkcje. Zmienna ważność określa ilościowo, o ile zmniejsza się predykcja modelu zweryfikowanego krzyżowo, gdy dana funkcja jest permutowana (wartości są tasowane) po treningu, przed prognozowaniem. Nigdy nie będzie pewne, czy jedna konkretna funkcja powinna zostać uwzględniona, czy nie, ale prawdopodobnie łatwiej jest przewidzieć na podstawie 5% najlepszych funkcji niż 5% najniższych.
Z praktycznego punktu widzenia czas obliczeń może zostać skrócony, a być może można zaoszczędzić niektóre zasoby, jeśli istnieje stały koszt pozyskania na funkcję.