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.trees
et les interaction.depth
paramè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.perf
que 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