Options de génération du noeud XGBoost Tree

L'onglet Options de génération permet de spécifier des options de génération relatives au noeud XGBoost Tree, notamment des options basiques en matière de génération de modèle et de croissance d'arbre, des options de tâches d'apprentissage associées aux objectifs et des options avancées portant sur le contrôle du surajustement et le traitement des jeux de données déséquilibrés. Pour des informations supplémentaires sur ces options, voir les ressources en ligne suivantes :

De base

Optimisation des hyper-paramètres (basée sur Rbfopt) Sélectionnez cette option pour activer l'Optimisation des hyper-paramètres (basée sur Rbfopt), qui détecte automatiquement la combinaison optimale de paramètres, permettant au modèle d’atteindre le taux d'erreur attendu ou un taux plus faible sur les échantillons. Pour plus d'informations sur Rbfopt, voir http://rbfopt.readthedocs.io/en/latest/rbfopt_settings.html.

Méthode d'arbre. Sélectionnez l'algorithme de construction d'arbre XGBoost à utiliser.

Nombre d'itérations de boosting. Indiquez le nombre d'itérations de boosting.

Nombre de niveaux max. Indiquez le nombre maximal de niveaux des arbres. L'augmentation de cette valeur complexifie le modèle et le rend éligible au surajustement.

Pondération d'enfant min. Indiquez la somme minimale des pondérations d'instance (de Hess) nécessaire dans un enfant. Si l'étape de partition d'arbre a pour conséquence un noeud terminal correspondant à la somme des pondérations d'instance moins la valeur de Pondération d'enfant min, le processus de génération arrête le partitionnement. Dans le mode de régression linéaire, ceci correspond simplement au nombre minimal d'instances requises dans chaque noeud. Plus la pondération est grande et plus l'algorithme est conservateur.

Etape delta max. Indiquez l'étape delta maximale pour permettre l'estimation de la pondération de chaque arbre. Si ce paramètre est défini sur 0, il n'existe pas de contrainte. Si ce paramètre est défini sur une valeur positive, il peut contribuer à rendre l'étape de mise à jour plus conservatrice. En général, ce paramètre n'est pas nécessaire mais il peut être utile pour la régression logistique en cas d'extrême déséquilibre d'une classe.

Tâche d'apprentissage

Les critères objectifs. Choisissez parmi les types d'objectif de tâche d'apprentissage suivants : reg:linear, reg:logistic, reg:gamma, reg:tweedie, count:poisson, rank:pairwise, binary:logistic ou multi.

Arrêt précoce. Sélectionnez cette option si vous souhaitez utiliser la fonction arrêt précoce. Pour le nombre d'arrêts, les erreurs de validation doivent diminuer au moins à chaque nombre d'arrêts précoces pour poursuivre l'apprentissage. Le ratio des données d'évaluation correspond à celui des données d'entrée utilisé pour les erreurs de validation.

Valeur de départ aléatoire. Vous pouvez cliquer sur Générer pour générer la valeur de départ utilisée par le générateur de nombres aléatoires.

Options avancées

Sous-échantillon. Le sous-échantillon est le rapport de l'instance d'apprentissage. Par exemple, si vous affectez à ce paramètre la valeur 0.5, XGBoost collecte la moitié des instances de données de manière aléatoire afin de faire croître les arbres, ce qui permet d'éviter le surajustement.

Eta. Réduction de la taille d'étape utilisée lors de l'étape de mise à jour afin d'éviter le surajustement. Après chaque étape de boosting, les pondérations des nouvelles fonctionnalités peuvent être obtenues directement. Eta réduit également les pondérations des fonctions afin de rendre le processus de boosting plus conservateur.

Gamma. Réduction des pertes minimale requise pour créer une autre partition sur un noeud terminal de l'arbre. Plus le paramètre gamma est grand et plus l'algorithme est conservateur.

Colsample par arbre. Rapport du sous-échantillon de colonnes lors de la construction de chaque arbre.

Colsample par niveau. Rapport du sous-échantillon de colonnes pour chaque scission par niveau.

Lambda. Terme de régularisation de niveau 2 sur les pondérations. L'augmentation de cette valeur rend le modèle plus conservateur.

Alpha. Terme de régularisation de niveau 1 sur les pondérations. L'augmentation de cette valeur rend le modèle plus conservateur.

Mettre à l'échelle des pondérations. Permet de contrôler l'équilibre des pondérations positives et négatives. Ce paramètre est utile dans le cas de classes déséquilibrées.

Le tableau suivant montre la relation entre les paramètres de la boîte de dialogue du noeud XGBoost Tree SPSS Modeler et ceux de la bibliothèque Python XGBoost.
Tableau 1. Relation entre les propriétés du noeud et les paramètres de la bibliothèque Python
Paramètre SPSS Modeler Nom du script (nom de la propriété) Paramètre XGBoost
Cible TargetField
Prédicteurs InputFields
Méthode d'arbre treeMethod tree_method
Nombre d'itérations de boosting numBoostRound num_boost_round
Nombre de niveaux max. maxDepth max_depth
Pondération d'enfant min. minChildWeight min_child_weight
Etape delta max. maxDeltaStep max_delta_step
Objectif objectiveType objective
Arrêt précoce earlyStopping early_stopping_rounds
nombre d'arrêts stoppingRounds  
Ratio des données d'évaluation evaluationDataRatio  
Valeur de départ aléatoire random_seed seed
Sous-échantillon sampleSize subsample
Eta êta êta
Gamma gamma gamma
Colsample par l'arbre colsSampleRatio colsample_bytree
Colsample par niveau colsSampleLevel colsample_bylevel
Lambda lambda lambda
Alpha alpha alpha
Mettre à l'échelle des pondérations scalePosWeight scale_pos_weight

1 "XGBoost Parameters" Scalable and Flexible Gradient Boosting. Web. © 2015-2016 DMLC.

2 "Plotting API" Scalable and Flexible Gradient Boosting. Web. © 2015-2016 DMLC.

3 "Scalable and Flexible Gradient Boosting." Web. © 2015-2016 DMLC.