PCA w przypadku danych tekstowych o dużych wymiarach przed losową klasyfikacją lasu?


14

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?


7
Algorytm RF tak naprawdę nie cierpi z powodu dużej liczby predyktorów, ponieważ mtrydo 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?
chl

Ile funkcji / wymiarów, F? > 1K? > 10 000? Czy cechy są dyskretne lub ciągłe, np. Częstotliwość-czas, tfidf, wskaźniki podobieństwa, wektory słów czy co? Środowisko wykonawcze PCA jest kwadratowe dla F.
smci


Odpowiedzi:


12

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.


Dziękuję za odpowiedź. Szybkość jest problemem, tym bardziej, że mam kilka tysięcy możliwych etykiet w problemach z wieloma etykietami. Aplikacja klasyfikuje zbiór danych tekstowych zaczerpniętych zarówno z Twittera, jak i opisu niektórych zdarzeń przez analityków. Używam ważenia tf-idf i modelu worka słów.
Maus,

9

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

wprowadź opis zdjęcia tutaj


1

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


Środowisko wykonawcze PCA jest kwadratowe pod względem liczby funkcji F, więc nie zawsze jest tanie.
smci,

przez perfomances miałem na myśli przewidywania perfomances. Nie miałem na myśli czasu obliczeniowego
Donbeo

2
Czy możesz dodać uzasadnienie do swoich roszczeń? Wydaje się, że PCA nie zawsze poprawi wyniki. Na przykład, gdy granica decyzyjna jest niezmienna dla rotacji (np. Koła), wykonanie PCA po prostu przeskaluje i obróci dane (a zatem i koło), ale RF nadal będzie musiała przybliżać eliptyczną granicę z dużą ilością prostokątnych podziałów.
Sycorax mówi Przywróć Monikę
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.