Quelles sont les directives utiles pour les paramètres GBM?

31

Quelles sont les directives utiles pour tester les paramètres (c.-à-d. La profondeur d'interaction, l'enfant minuscule, la fréquence d'échantillonnage, etc.) à l'aide de GBM?

Disons que j'ai 70 à 100 fonctionnalités, une population de 200 000 habitants et j'ai l'intention de tester la profondeur d'interaction de 3 et 4. De toute évidence, je dois faire des tests pour voir quelle combinaison de paramètres résiste le mieux hors échantillon. Des suggestions sur la façon d'aborder cette conception de test?

Ram Ahluwalia
la source

Réponses:

34

Le package caret peut vous aider à optimiser le choix des paramètres pour votre problème. La vignette caretTrain montre comment régler les paramètres gbm en utilisant une validation croisée répétée 10 fois - d'autres approches d'optimisation sont disponibles, elles peuvent toutes s'exécuter en parallèle à l'aide du package foreach. Utilisez vignette("caretTrain", package="caret")pour lire le document.

Le package prend en charge le réglage shrinkage, n.treeset les interaction.depthparamètres du modèle gbm, bien que vous puissiez ajouter les vôtres.

Pour l'heuristique, voici mon approche initiale:

shrinkage: Aussi petit que vous en avez le temps (le manuel gbm en contient plus, mais en général vous ne pouvez jamais vous tromper avec une valeur plus petite). Votre ensemble de données est petit, donc je commencerais probablement par 1e-3

n.trees: Je cultive généralement un modèle initial en ajoutant de plus en plus d'arbres jusqu'à ce gbm.perfque j'en ai assez (en fait, généralement à 1,2 fois cette valeur), puis je l'utilise comme guide pour une analyse plus approfondie.

interaction.depth: vous avez déjà une idée à ce sujet. Essayez également des valeurs plus petites. La valeur maximale est le plancher (sqrt (NCOL (données)).

n.minobsinnode: Je trouve qu'il est vraiment important de régler cette variable. Vous ne voulez pas qu'il soit si petit que l'algorithme trouve trop de fonctionnalités parasites.

Allan Engelhardt
la source