Ho un set di dati con principalmente variabili finanziarie (120 caratteristiche, esempi 4k) che sono per lo più altamente correlate e molto rumorose (indicatori tecnici, ad esempio), quindi vorrei selezionare circa 20-30 max per un uso successivo con la formazione dei modelli (classificazione binaria - aumento diminuzione).
Stavo pensando di usare foreste casuali per il posizionamento delle caratteristiche. È una buona idea usarli in modo ricorsivo? Ad esempio, supponiamo che al primo turno abbassi il peggior 20%, anche il secondo e così via fino a ottenere il numero desiderato di funzionalità. Dovrei usare la validazione incrociata con RF? (È intuitivo per me non usare CV perché è praticamente quello che RF fa già.)
Inoltre, se vado con foreste casuali, dovrei usarle come classificatori per il binario o il regressore per l'aumento / la riduzione effettivi per ottenere le importazioni delle funzionalità?
A proposito, i modelli che vorrei provare dopo la selezione delle funzionalità sono: SVM, reti neurali, regressioni ponderate localmente e foresta casuale. Lavoro principalmente in Python.
built-in
attributo di RandomForestClassifier in sklearn
chiamato feature_importances_
....? Lo vedrai nel link.