Quels devraient être les paramètres optimaux pour le classificateur Random Forest?


14

Actuellement j'utilise RF toolbox sur MATLAB pour un problème de classification binaire

Ensemble de données: 50000 échantillons et plus de 250 fonctionnalités

Alors, quel devrait être le nombre d'arbres et la fonction sélectionnée au hasard sur chaque division pour faire pousser les arbres? tout autre paramètre peut-il affecter considérablement les résultats?

Réponses:


8

Choisissez un grand nombre d'arbres, disons 100. D'après ce que j'ai lu sur Internet, choisissez 250 des fonctionnalités sélectionnées au hasard. Cependant, dans l'article original , Breiman a utilisé l'entier le plus proche de logMlog2 .

Je dirais que la validation croisée est généralement la clé pour trouver des paramètres optimaux, mais je ne connais pas assez les forêts aléatoires.


Breiman a utilisé les fonctionnalités . Je laisse un commentaire ici, car votre lien ne fonctionne pas :)1+log2M
Antoine

Merci, j'ai mis à jour le lien. Maintenant, c'est directement à Berkeley.
Wok

12

Plus les arbres sont gros, mieux c'est. Vous ne pouvez presque pas dépasser avec ce paramètre, mais bien sûr, la limite supérieure dépend du temps de calcul que vous souhaitez passer sur RF.
La bonne idée est de faire d'abord une longue forêt et de voir ensuite (j'espère qu'elle est disponible dans l'implémentation MATLAB) quand la précision OOB converge.

Nombre d'attributs essayés par défaut est la racine carrée du nombre entier d'attributs, mais généralement la forêt n'est pas très sensible à la valeur de ce paramètre - en fait, elle est rarement optimisée, en particulier parce que l'aspect stochastique des RF peut introduire des variations plus importantes.


7

Nombre d'arbres plus gros, mieux c'est: d'accord.

Le nombre d'attributs essayés dépendra. Si vous en avez déjà a priori sur la façon dont les informations se propagent ou non parmi les fonctionnalités. Si les informations sont partagées par de nombreuses fonctionnalités, de meilleurs résultats aboutiraient à une valeur plus petite de ce paramètre. Si, en revanche, si seules quelques fonctionnalités transportent les informations, vous devez utiliser des valeurs plus grandes. En d'autres termes, avec de nombreuses variables pertinentes: des valeurs plus petites sont meilleures et avec de nombreuses variables non pertinentes: des valeurs plus grandes sont meilleures.


1
Bien que votre affirmation sur le nombre d'attributs essayés soit logique, avez-vous une citation à ce sujet?
James Owers

Je recommanderais de lire cette thèse: github.com/glouppe/phd-thesis ainsi que celle-ci: orbi.ulg.ac.be/handle/2268/25737
0asa
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.