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?

Rizwan
la source

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.

Wok
la source
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.


la source
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.

0asa
la source
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