PCA zu hochdimensionalen Textdaten vor der zufälligen Waldklassifikation?


13

Ist es sinnvoll, PCA durchzuführen, bevor eine zufällige Waldklassifizierung durchgeführt wird?

Ich habe es mit hochdimensionalen Textdaten zu tun, und ich möchte eine Feature-Reduzierung durchführen, um den Fluch der Dimensionalität zu vermeiden. Ist Random Forests nicht bereits auf eine Art von Dimensionsreduzierung eingestellt?


7
Der RF-Algorithmus leidet nicht wirklich unter einer hohen Anzahl von Prädiktoren, da nur eine zufällige Untermenge von ihnen (sogenannte mtryParameter) zum Aufbau eines jeden Baums benötigt wird. Es gibt auch eine auf dem RF-Algorithmus aufbauende Eliminierungstechnik für rekursive Merkmale (siehe das varSelRF R-Paket und die darin enthaltenen Referenzen). Es ist jedoch durchaus möglich, ein erstes Datenreduktionsschema hinzuzufügen, obwohl dies Teil des Prozesses der gegenseitigen Validierung sein sollte. Die Frage ist also: Möchten Sie eine lineare Kombination Ihrer Funktionen in RF eingeben?
chl

Wie viele Features / Dimensionen, F? > 1K? > 10K? Sind die Merkmale diskret oder kontinuierlich, z. B. Termhäufigkeit, tfidf, Ähnlichkeitsmetriken, Wortvektoren oder was? Die PCA-Laufzeit ist quadratisch zu F.
smci


Antworten:


12

Leo Brieman schrieb, dass "Dimensionalität ein Segen sein kann". Im Allgemeinen können zufällige Gesamtstrukturen problemlos mit großen Datenmengen ausgeführt werden. Wie groß sind Ihre Daten? Je nach Fachwissen werden die Dinge in verschiedenen Bereichen unterschiedlich gehandhabt. Zum Beispiel werden in Genexpressionsstudien Gene häufig aufgrund einer geringen Varianz (kein Blick auf das Ergebnis) in einem Prozess verworfen, der manchmal als unspezifisches Filtern bezeichnet wird. Dies kann bei der Laufzeit in zufälligen Gesamtstrukturen hilfreich sein. Es ist aber nicht erforderlich.

Wenn man sich an das Beispiel der Genexpression hält, verwenden Analysten manchmal PCA-Scores, um Genexpressionsmessungen darzustellen. Die Idee ist, ähnliche Profile durch eine Punktzahl zu ersetzen, die möglicherweise weniger chaotisch ist. Zufällige Gesamtstrukturen können sowohl für die ursprünglichen Variablen als auch für die PCA-Scores (ein Ersatz für die Variablen) ausgeführt werden. Einige haben mit diesem Ansatz bessere Ergebnisse erzielt, aber meines Wissens gibt es keine guten Vergleiche.

In der Summe ist es nicht erforderlich, PCA durchzuführen, bevor RF ausgeführt wird. Doch kannst du. Die Interpretation kann sich je nach Ihren Zielen ändern. Wenn Sie nur vorhersagen möchten, ist die Interpretation möglicherweise weniger wichtig.


Danke für die Antwort. Geschwindigkeit ist ein Problem, mehr, weil ich mehrere tausend mögliche Etiketten in einem Problem mit mehreren Etiketten habe. Die Anwendung klassifiziert ein Korpus von Textdaten, die sowohl aus der Beschreibung von Twitter als auch von Analysten bestimmter Ereignisse stammen. Ich benutze die tf-idf-Gewichtung und das Wortsack-Modell.
Maus

8

Ich möchte meine zwei Cent dazuzählen, da ich dachte, die vorhandenen Antworten seien unvollständig.

Die Durchführung einer PCA kann besonders nützlich sein, bevor Sie eine zufällige Gesamtstruktur (oder LightGBM oder eine andere auf einem Entscheidungsbaum basierende Methode) trainieren.

Grundsätzlich kann es den Prozess des Findens der perfekten Entscheidungsgrenze erheblich vereinfachen, indem Sie Ihr Trainingsset mit höchster Varianz entlang der Richtungen ausrichten.

Entscheidungsbäume reagieren empfindlich auf die Drehung der Daten, da die von ihnen erzeugte Entscheidungsgrenze immer vertikal / horizontal ist (dh senkrecht zu einer der Achsen). Wenn Ihre Daten also wie das linke Bild aussehen, wird ein viel größerer Baum benötigt, um diese beiden Cluster zu trennen (in diesem Fall handelt es sich um einen Baum mit 8 Ebenen). Wenn Sie Ihre Daten jedoch entlang der Hauptkomponenten ausrichten (wie im rechten Bild), können Sie eine perfekte Trennung mit nur einer Ebene erzielen!

Natürlich werden nicht alle Datensätze auf diese Weise verteilt, daher hilft PCA möglicherweise nicht immer, aber es ist dennoch nützlich, es zu versuchen und zu prüfen, ob dies der Fall ist. Und zur Erinnerung: Vergessen Sie nicht, Ihren Datensatz auf die Einheitsvarianz zu normieren, bevor Sie eine PCA durchführen!

PS: Was die Reduzierung der Dimensionalität angeht, stimme ich dem Rest der Leute darin zu, dass es für zufällige Wälder in der Regel kein so großes Problem darstellt wie für andere Algorithmen. Trotzdem kann es Ihnen helfen, Ihr Training ein wenig zu beschleunigen. Die Trainingszeit für den Entscheidungsbaum beträgt O (n m log (m)), wobei n die Anzahl der Trainingsinstanzen und m die Anzahl der Dimensionen ist. Und obwohl zufällige Wälder zufällig eine Teilmenge der Dimensionen für jeden zu trainierenden Baum auswählen, müssen Sie umso mehr Bäume trainieren, je weniger Dimensionen Sie auswählen, um eine gute Leistung zu erzielen.

Bildbeschreibung hier eingeben


1

PCA vor zufälliger Gesamtstruktur kann nicht zur Reduzierung der Dimensionalität nützlich sein, sondern um Daten in eine Form zu bringen, in der zufällige Gesamtstrukturen eine bessere Leistung erzielen können.

Ich bin mir ziemlich sicher, dass Sie im Allgemeinen eine bessere Klassifizierung mit zufälligen Gesamtstrukturen erhalten, wenn Sie Ihre Daten mit PCA transformieren und dabei die Dimensionalität der Originaldaten beibehalten


Die PCA-Laufzeit ist quadratisch zur Anzahl der Features F, daher ist dies nicht immer billig.
smci

mit perfomances meinte ich vorhersage perfomances. Ich bezog mich nicht auf die Rechenzeit
Donbeo

2
Können Sie Ihre Behauptungen begründen? Es scheint, dass PCA die Ergebnisse nicht immer verbessern wird. Wenn die Entscheidungsgrenze beispielsweise nicht von Rotationen abhängt (z. B. ein Kreis), werden die Daten (und damit der Kreis) bei der Ausführung der PCA nur neu skaliert und gedreht, RF muss jedoch die elliptische Grenze mit vielen rechteckigen Teilungen approximieren.
Sycorax sagt Reinstate Monica
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.