Ich habe einen Datensatz mit hauptsächlich finanziellen Variablen (120 Features, 4k-Beispiele), die größtenteils stark korreliert und sehr verrauscht sind (z. B. technische Indikatoren). Daher möchte ich für die spätere Verwendung beim Modelltraining (binäre Klassifizierung) maximal 20-30 auswählen - erhöhen verringern).
Ich dachte darüber nach, zufällige Wälder für das Feature-Ranking zu verwenden. Ist es eine gute Idee, sie rekursiv zu verwenden? Nehmen wir zum Beispiel an, ich lasse in der ersten Runde die schlechtesten 20% fallen, die zweite auch und so weiter, bis ich die gewünschte Anzahl von Features erhalte. Sollte ich eine Kreuzvalidierung mit RF verwenden? (Es ist für mich intuitiv, keinen Lebenslauf zu verwenden, da RF dies bereits tut.)
Auch wenn ich mit zufälligen Gesamtstrukturen unterwegs bin, sollte ich sie als Klassifizierer für die Binärdatei oder als Regressor für die tatsächliche Zunahme / Abnahme verwenden, um die Wichtigkeit von Features zu ermitteln?
Übrigens sind die Modelle, die ich nach der Featureauswahl ausprobieren möchte: SVM, neuronale Netze, lokal gewichtete Regressionen und zufällige Gesamtstruktur. Ich arbeite hauptsächlich in Python.
built-in
Attribut von RandomForestClassifier in sklearn
called feature_importances_
.... zu verwenden? Du wirst es im Link sehen.
multicollinearity
dies die Wichtigkeit von Features und die Auswahl von Features verzerren kann.