J'avais une question sur le paramètre de profondeur d'interaction en gbm dans R. Cela peut être une question noob, pour laquelle je m'excuse, mais comment le paramètre, qui je crois dénote le nombre de nœuds terminaux dans un arbre, indique fondamentalement X-way interaction entre les prédicteurs? J'essaie juste de comprendre comment cela fonctionne. De plus, j'obtiens des modèles assez différents si j'ai un ensemble de données avec par exemple deux variables de facteur différentes par rapport au même ensemble de données, sauf que ces deux variables de facteur sont combinées en un seul facteur (par exemple, les niveaux X dans le facteur 1, les niveaux Y dans le facteur 2, la variable combinée a Facteurs X * Y). Ce dernier est nettement plus prédictif que le premier. J'avais pensé que l'augmentation de la profondeur d'interaction permettrait de reprendre cette relation.
la source
Lien entre interaction.depth et le nombre de nœuds terminaux
interaction.depth
interaction.depth
Lien entre interaction.depth et l'ordre d'interaction
Le lien entre
interaction.depth
et l'ordre d'interaction est plus fastidieux.Au lieu de raisonner avec le interaction.depth, nous allons raisonner avec le nombre de noeuds terminaux, que nous appelle J .
Exemple: Disons que vous avez J = 4 nœuds terminaux (interaction.depth = 3), vous pouvez soit:
la source
La réponse précédente n'est pas correcte.
Les souches auront une profondeur d'interaction de 1 (et auront deux feuilles). Mais interaction.depth = 2 donne trois feuilles.
Donc: NumberOfLeaves = interaction.depth + 1
la source
En fait, les réponses précédentes sont incorrectes.
Soit K la profondeur d'interaction, alors le nombre de nœuds N et de feuilles L (c'est-à-dire les nœuds terminaux) sont respectivement donnés par :
ce qui équivaut à:
la source
Tu peux essayer
table (prédire (gbm (y ~., data = TrainingData, distribution = "gaussian", verbose = FALSE, n.trees = 1, shrinkage = 0.01, bag.fraction = 1, interaction.depth = 1), n.trees = 1))
et voyez qu'il n'y a que 2 valeurs prédites uniques. interaction.depth = 2 vous obtiendrez 3 valeurs prédites distinctes. Et convaincez-vous.
la source