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ść.
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?