Est-il judicieux d'utiliser la sélection d'entités avant Random Forest?

Réponses:

6

Oui, et c'est assez courant. Si vous attendez plus de ~ 50% de vos fonctionnalités, elles ne sont même pas redondantes mais totalement inutiles. Par exemple, le paquet randomForest a la fonction wrapper rfcv () qui pré-formera randomForest et omettra les variables les moins importantes. la fonction rfcv se réfère à ce chapitre . N'oubliez pas d'intégrer la sélection et la modélisation des fonctionnalités dans une boucle de validation croisée externe pour éviter des résultats trop optimistes.

[modifier ci-dessous]

Je pourrais modérer "tout à fait inutile". Une seule forêt aléatoire ne sera le plus souvent pas comme par exemple la régression avec régularisation au lasso ignorera complètement les caractéristiques, même si celles-ci (avec le recul simulé) étaient des caractéristiques aléatoires. Les divisions d'arbre de décision par entités sont choisies par des critères locaux dans l'un des milliers ou des millions de nœuds et ne peuvent pas être annulées ultérieurement. Je ne préconise pas de réduire les caractéristiques à une sélection supérieure, mais il est possible pour certains ensembles de données d'obtenir une augmentation substantielle des performances de prédiction (estimée par une validation croisée externe répétée ) en utilisant cette sélection de variables. Une conclusion typique serait que garder 100% des fonctionnalités ou seulement quelques pour cent fonctionne moins bien, et il peut alors y avoir une large plage moyenne avec des performances de prédiction estimées similaires.

Peut-être une règle de pouce raisonnable: quand on s'attend à ce que la régularisation de type lasso serve mieux qu'une régularisation de type crête pour un problème donné, alors on pourrait essayer de pré-former une forêt aléatoire et classer les caractéristiques par l' intérieur du sac cross-validated variable importance et essayez de supprimer certaines des caractéristiques les moins importantes . L'importance variable quantifie dans quelle mesure la prédiction du modèle à validation croisée diminue, lorsqu'une caractéristique donnée est permutée (valeurs mélangées) après l'entraînement, avant la prédiction. On ne sera jamais certain si une fonctionnalité spécifique doit être incluse ou non, mais il est probablement beaucoup plus facile de prédire par les 5% des meilleures fonctionnalités que les 5% les plus bas.

D'un point de vue pratique, le temps d'exécution de calcul pourrait être réduit, et peut-être certaines ressources pourraient être économisées, s'il y a un coût d'acquisition fixe par fonctionnalité.

Soren Havelund Welling
la source
5
La capacité des données à vous dire qu'une fonctionnalité est inutile est sévèrement limitée, et j'espère que l'option à laquelle vous vous référez est intégrée dans l'algorithme de forêt aléatoire. Il ne serait pas approprié de procéder à une suppression initiale des fonctionnalités avant d'envoyer les fonctionnalités candidates à l'algorithme de forêt aléatoire.
Frank Harrell
@FrankHarrell, j'ai essayé d'élaborer ma réponse
Soren Havelund Welling
2
Je ne suis pas d'accord que vous choisissiez différentes règles de notation à différentes fins. Une règle de notation de précision incorrecte conduit à la sélection des mauvaises caractéristiques et à leur donner les mauvais poids. Plus évident est le caractère arbitraire de certaines règles de notation. Il est préférable de choisir un modèle prédictif optimal, puis d'utiliser une théorie de décision solide pour prendre des décisions optimales en utilisant ce modèle. Cela se fait en appliquant une fonction d'utilité aux prédictions continues.
Frank Harrell
1
@FrankHarrell - pouvez-vous donner une réponse détaillée à cette question? apparemment, vous avez des arguments solides contre la sélection des fonctionnalités ...
ihadanny
1
c