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?
mtry
Parameter) 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?Antworten:
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.
quelle
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.
quelle
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
quelle