J'ai un ensemble de données avec principalement des variables financières (120 fonctionnalités, 4k exemples) qui sont pour la plupart hautement corrélées et très bruyantes (indicateurs techniques, par exemple), donc je voudrais sélectionner environ 20-30 max pour une utilisation ultérieure avec la formation de modèle (classification binaire - augmentation Diminution).
Je pensais à utiliser des forêts aléatoires pour le classement des fonctionnalités. Est-ce une bonne idée de les utiliser récursivement? Par exemple, disons qu'au premier tour, je laisse tomber le pire 20%, le deuxième aussi et ainsi de suite jusqu'à ce que j'obtienne le nombre de fonctionnalités souhaité. Dois-je utiliser la validation croisée avec RF? (C'est intuitif pour moi de ne pas utiliser CV car c'est à peu près ce que RF fait déjà.)
De plus, si je choisis des forêts aléatoires, dois-je les utiliser comme classificateurs pour le binaire ou le régresseur pour l'augmentation / la diminution réelle afin d'obtenir des importances de fonctionnalités?
Soit dit en passant, les modèles que j'aimerais essayer après la sélection des fonctionnalités sont les suivants: SVM, réseaux de neurones, régressions pondérées localement et forêt aléatoire. Je travaille principalement en Python.
built-in
attribut de RandomForestClassifier dans sklearn
appelé feature_importances_
....? Vous le verrez dans le lien.