Ist es sinnvoll, die Funktionsauswahl vor Random Forest zu verwenden?

Antworten:

6

Ja, und es ist ziemlich häufig. Wenn Sie mehr als ~ 50% Ihrer Funktionen erwarten, sind diese nicht einmal redundant, sondern völlig nutzlos. Zum Beispiel hat das randomForest-Paket die Wrapper-Funktion rfcv (), die einen randomForest vorab trainiert und die am wenigsten wichtigen Variablen weglässt. Die RFCV-Funktion finden Sie in diesem Kapitel . Denken Sie daran, Feature-Auswahl + Modellierung in eine äußere Kreuzvalidierungsschleife einzubetten, um zu optimistische Ergebnisse zu vermeiden.

[unten bearbeiten]

Ich könnte "völlig nutzlos" moderieren. Eine einzelne zufällige Gesamtstruktur ignoriert meistens nicht die Merkmale, z. B. die Regression mit Lasso-Regularisierung, vollständig, selbst wenn diese (im simulierten Rückblick) zufällige Merkmale waren. Entscheidungsbaumaufteilungen nach Features werden nach lokalen Kriterien in einem der Tausenden oder Millionen von Knoten ausgewählt und können später nicht mehr rückgängig gemacht werden. Ich befürworte nicht, Merkmale auf eine überlegene Auswahl zu reduzieren, aber es ist für einige Datensätze möglich, mit dieser Variablenauswahl eine wesentliche Steigerung der Vorhersageleistung (geschätzt durch eine wiederholte äußere Kreuzvalidierung) zu erzielen . Ein typischer Befund wäre, dass 100% der Features oder nur wenige Prozent weniger gut funktionieren und es dann einen breiten mittleren Bereich mit einer ähnlichen geschätzten Vorhersageleistung geben kann.

Vielleicht eine vernünftige Daumenregel: Wenn man erwartet, dass eine lassoähnliche Regularisierung für ein bestimmtes Problem besser als eine kammartige Regularisierung dient, könnte man versuchen, einen zufälligen Wald vorab zu trainieren und die Merkmale nach dem inneren Out-of-Bag zu ordnen Kreuzvalidierte Variablenbedeutung und versuchen Sie, einige der am wenigsten wichtigen Funktionen zu löschen. Die variable Wichtigkeit quantifiziert, um wie viel die kreuzvalidierte Modellvorhersage abnimmt, wenn ein bestimmtes Merkmal nach dem Training vor der Vorhersage permutiert (Werte gemischt) wird. Man wird nie sicher sein, ob ein bestimmtes Merkmal enthalten sein sollte oder nicht, aber es ist wahrscheinlich viel einfacher, anhand der oberen 5% -Funktionen vorherzusagen, als anhand der unteren 5%.

Aus praktischer Sicht könnte die Rechenlaufzeit verkürzt und möglicherweise einige Ressourcen eingespart werden, wenn feste Anschaffungskosten pro Feature anfallen.

Soren Havelund Welling
quelle
5
Die Fähigkeit von Daten, Ihnen mitzuteilen, dass eine Funktion nutzlos ist, ist stark eingeschränkt, und ich hoffe, dass die Option, auf die Sie sich beziehen, in den Algorithmus für zufällige Gesamtstrukturen integriert ist. Es wäre nicht angebracht, Features im Voraus zu löschen, bevor die Kandidaten-Features an den Random Forest-Algorithmus gesendet werden.
Frank Harrell
@ FrankHarrell, ich habe versucht, meine Antwort zu erarbeiten
Soren Havelund Welling
2
Ich bin nicht einverstanden, dass Sie unterschiedliche Bewertungsregeln für unterschiedliche Zwecke wählen. Eine falsche Bewertungsregel für die Genauigkeit führt dazu, dass die falschen Merkmale ausgewählt und ihnen die falschen Gewichte zugewiesen werden. Offensichtlicher ist die Willkür in bestimmten Bewertungsregeln. Es ist weitaus besser, ein optimales Vorhersagemodell zu wählen und dann die solide Entscheidungstheorie zu verwenden, um mit diesem Modell optimale Entscheidungen zu treffen. Dies erfolgt durch Anwenden einer Utility-Funktion auf die kontinuierlichen Vorhersagen.
Frank Harrell
1
@FrankHarrell - können Sie eine detaillierte Antwort auf diese Frage geben? Anscheinend haben Sie einige starke Argumente gegen die Auswahl von Features ...
Ihadanny
1
c