Czy sensowne jest wykonanie PCA przed przeprowadzeniem losowej klasyfikacji lasu?
Mam do czynienia z wielowymiarowymi danymi tekstowymi i chcę zrobić redukcję funkcji, aby uniknąć przekleństwa wymiarowości, ale czy losowe lasy już nie zmniejszają wymiarów?
mtry
do zbudowania każdego drzewa potrzeba tylko ich losowego podzbioru (tzw. Parametru). Istnieje również technika eliminacji cech rekurencyjnych zbudowana na algorytmie RF (patrz pakiet varSelRF R i zawarte w nim odniesienia). Z pewnością można jednak dodać wstępny schemat redukcji danych, chociaż powinien on być częścią procesu weryfikacji krzyżowej. Pytanie brzmi: czy chcesz wprowadzić liniową kombinację swoich funkcji do RF?Odpowiedzi:
Leo Brieman napisał, że „wymiarowość może być błogosławieństwem”. Zasadniczo losowe lasy mogą bez problemu działać na dużych zestawach danych. Jak duże są twoje dane? Różne pola radzą sobie na różne sposoby w zależności od wiedzy merytorycznej. Na przykład w badaniach nad ekspresją genów geny są często odrzucane na podstawie niskiej wariancji (brak podglądu wyniku) w procesie zwanym czasem filtrowaniem niespecyficznym. Może to pomóc w czasie pracy w losowych lasach. Ale to nie jest wymagane.
Trzymając się przykładu ekspresji genu, czasami analitycy wykorzystują wyniki PCA do reprezentowania pomiarów ekspresji genu. Chodzi o zastąpienie podobnych profili jednym wynikiem, który jest potencjalnie mniej nieporządny. Lasy losowe można uruchamiać zarówno na pierwotnych zmiennych, jak i na wynikach PCA (odpowiednik zmiennych). Niektórzy zgłosili lepsze wyniki z tym podejściem, ale nie ma dobrych porównań z moją wiedzą.
Podsumowując, nie ma potrzeby wykonywania PCA przed uruchomieniem RF. Ale ty możesz. Interpretacja może ulec zmianie w zależności od twoich celów. Jeśli wszystko, co chcesz zrobić, to przewidzieć, interpretacja może być mniej ważna.
źródło
Chciałbym dodać do tego moje dwa centy, ponieważ uważałem, że istniejące odpowiedzi są niepełne.
Wykonywanie PCA może być szczególnie przydatne przed treningiem przypadkowego lasu (lub LightGBM lub innej metody opartej na drzewku decyzyjnym) z jednego konkretnego powodu, który zilustrowałem na poniższym rysunku.
Zasadniczo może znacznie ułatwić proces znajdowania idealnej granicy decyzji, ustawiając zestaw treningowy wzdłuż kierunków z największą wariancją.
Drzewa decyzyjne są wrażliwe na rotację danych, ponieważ tworzona przez nie granica decyzji jest zawsze pionowa / pozioma (tj. Prostopadła do jednej z osi). Dlatego jeśli twoje dane wyglądają jak lewe zdjęcie, potrzeba znacznie większego drzewa, aby oddzielić te dwa klastry (w tym przypadku jest to drzewo 8-warstwowe). Ale jeśli wyrównasz dane wzdłuż ich głównych składników (jak na prawym zdjęciu), możesz osiągnąć idealne rozdzielenie za pomocą tylko jednej warstwy!
Oczywiście nie wszystkie zestawy danych są dystrybuowane w ten sposób, więc PCA nie zawsze może pomóc, ale nadal warto wypróbować i sprawdzić, czy tak. I tylko przypomnienie: nie zapomnij znormalizować zestawu danych do wariancji jednostek przed wykonaniem PCA!
PS: Jeśli chodzi o redukcję wymiarowości, zgodzę się z resztą ludzi, że zwykle nie jest to tak duży problem dla losowych lasów, jak dla innych algorytmów. Ale może to nieco przyspieszyć twój trening. Czas szkolenia drzewa decyzyjnego wynosi O (n m log (m)), gdzie n jest liczbą wystąpień treningu, m - liczbą wymiarów. I chociaż losowe lasy losowo wybierają podzbiór wymiarów dla każdego drzewa do trenowania, im niższy ułamek całkowitej liczby wybieranych wymiarów, tym więcej drzew trzeba trenować, aby osiągnąć dobrą wydajność.
źródło
PCA przed losowym lasem może być przydatny nie do zmniejszania wymiarów, ale do nadania danych kształtu, w którym losowy las może działać lepiej.
Jestem spokojny, że ogólnie, jeśli przekształcisz swoje dane za pomocą PCA zachowując tę samą wielkość oryginalnych danych, będziesz mieć lepszą klasyfikację z losowym lasem
źródło