Tengo un conjunto de datos con variables financieras en su mayoría (120 características, ejemplos de 4k) que en su mayoría están altamente correlacionadas y son muy ruidosas (indicadores técnicos, por ejemplo), por lo que me gustaría seleccionar un máximo de 20-30 para su uso posterior con entrenamiento modelo (clasificación binaria - aumentar Disminuir).
Estaba pensando en usar bosques aleatorios para la clasificación de características. ¿Es una buena idea usarlos recursivamente? Por ejemplo, supongamos que en la primera ronda elimino el peor 20%, la segunda también, y así sucesivamente hasta obtener la cantidad deseada de funciones. ¿Debo usar validación cruzada con RF? (Es intuitivo para mí no usar CV porque eso es más o menos lo que RF ya hace).
Además, si voy con bosques aleatorios, ¿debería usarlos como clasificadores para el binario o el regresor para el aumento / disminución real para obtener las características importantes?
Por cierto, los modelos que me gustaría probar después de la selección de características son: SVM, redes neuronales, regresiones ponderadas localmente y bosque aleatorio. Estoy trabajando principalmente en Python.
built-in
atributo de RandomForestClassifier en sklearn
llamado feature_importances_
...? Lo verás en el enlace.