Czy warto wybierać funkcje przed Losowym lasem?

Odpowiedzi:

6

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ę.

Soren Havelund Welling
źródło
5
Zdolność danych do stwierdzenia, że ​​funkcja jest bezużyteczna, jest poważnie ograniczona i mam nadzieję, że opcja, do której się odwołujesz, jest zintegrowana z algorytmem losowego lasu. Nie byłoby właściwe usuwanie obiektów z góry przed wysłaniem obiektów kandydujących do algorytmu losowego lasu.
Frank Harrell,
@FrankHarrell, starałem się opracować swoją odpowiedź
Soren Havelund Welling,
2
Nie zgadzam się, że wybierasz różne reguły punktacji do różnych celów. Nieprawidłowa reguła punktacji dokładności prowadzi do wyboru niewłaściwych cech i nadania im niewłaściwych wag. Bardziej widoczna jest arbitralność niektórych zasad punktacji. O wiele lepiej jest wybrać optymalny model predykcyjny, a następnie zastosować solidną teorię decyzyjną, aby podjąć optymalne decyzje za pomocą tego modelu. Odbywa się to poprzez zastosowanie funkcji użyteczności do ciągłych prognoz.
Frank Harrell,
1
@FrankHarrell - czy możesz udzielić szczegółowej odpowiedzi na to pytanie? najwyraźniej masz mocne argumenty przeciwko wybraniu funkcji ...
ihadanny
1
Najlepszym sposobem, aby się o tym dowiedzieć, jest przeprowadzenie rygorystycznej wewnętrznej weryfikacji procedury, która próbuje dokonać wyboru funkcji w porównaniu z tą, która tego nie robi. Dość często dyskryminacja predykcyjna (mierzona przy użyciu właściwej reguły punktacji dokładności lub nawet przy użyciudo-index (obszar ROC)) jest lepszy, gdy nie próbuje się wyboru funkcji. Wybór funkcji jest prawie zawsze arbitralny.
Frank Harrell,