Hyperparamètres XGBoost - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Hyperparamètres XGBoost

Le tableau suivant contient le sous-ensemble d'hyperparamètres requis ou les plus couramment utilisés pour l'algorithme Amazon SageMaker XGBoost. Il s'agit des paramètres qui sont définis par les utilisateurs pour faciliter l'estimation des paramètres modèles issus des données. Les hyperparamètres requis qui doivent être définies sont les premiers répertoriés, dans l'ordre alphabétique. Les hyperparamètres facultatifs qui peuvent être définis sont répertoriés ensuite, également dans l'ordre alphabétique. L'algorithme SageMaker XGBoost est une implémentation du package open source DMLC XGBoost. Pour de plus amples informations sur l'ensemble complet des hyperparamètres qui peuvent être configurés pour cette version de XGBoost, veuillez consulter Paramètres XGBoost.

Nom du paramètre Description
num_class

Nombre de classes.

Obligatoire si objective a la valeur multi:softmax ou multi:softprob.

Valeurs valides : nombre entier.

num_round

Le nombre de séries pour exécuter l'entraînement.

Obligatoire

Valeurs valides : nombre entier.

alpha

Condition de régularisation L1 sur les pondérations. L'augmentation de cette valeur rend les modèles plus prudents.

Facultatif

Valeurs valides : float.

Valeur par défaut : 0

base_score

Score de prédiction initiale de toutes les instances, biais global.

Facultatif

Valeurs valides : float.

Valeur par défaut : 0.5

booster

Quel booster utiliser. Les valeurs gbtree et dart utilisent un modèle basé sur un arbre, tandis que gblinear utilise une fonction linéaire.

Facultatif

Valeurs valides : string. "gbtree", "gblinear" ou "dart".

Valeur par défaut : "gbtree"

colsample_bylevel

Ration de sous-échantillon des colonnes pour chaque fractionnement, dans chaque niveau.

Facultatif

Valeurs valides : float. Plage : [0,1].

Valeur par défaut : 1

colsample_bynode

Rapport des colonnes de sous-échantillon de chaque nœud.

Facultatif

Valeurs valides : float. Plage : (0,1].

Valeur par défaut : 1

colsample_bytree

Ratio de sous-échantillon des colonnes lors de la construction de chaque arbre.

Facultatif

Valeurs valides : float. Plage : [0,1].

Valeur par défaut : 1

csv_weights

Lorsque cette option est activée, XGBoost différencie l'importance des instances pour l'entrée csv en prenant la deuxième colonne (la colonne après les étiquettes) dans les données d'entraînement, comme les pondérations d'instance.

Facultatif

Valeurs valides : 0 ou 1

Valeur par défaut : 0

deterministic_histogram

Lorsque cet indicateur est activé, XGBoost crée l'histogramme sur le GPU de manière déterministe. Utilisé uniquement si tree_method a la valeur gpu_hist.

Pour obtenir la liste complète des entrées valides, reportez-vous à XGBoost Parameters.

Facultatif

Valeurs valides : string. Plage : "true" ou "false".

Valeur par défaut : "true"

early_stopping_rounds

Le modèle entraîne jusqu'à ce que le score de validation arrête l'amélioration. L'erreur de validation doit être réduite au moins à chaque fois early_stopping_rounds pour poursuivre l'entraînement. SageMakerl'hébergement utilise le meilleur modèle d'inférence.

Facultatif

Valeurs valides : nombre entier.

Valeur par défaut: -

eta

Réduction de la taille de l'étape utilisée dans les mises à jour pour empêcher le surajustement. Après chaque étape du boosting, vous pouvez directement obtenir les pondérations des nouvelles fonctions. Le paramètre eta diminue réellement les pondérations des fonctions pour rendre le processus de boosting plus prudent.

Facultatif

Valeurs valides : float. Plage : [0,1].

Valeur par défaut : 0.3

eval_metric

Métriques d'évaluation pour les données de validation. Une métrique est attribué par défaut en fonction de l'objectif :

  • rmse : pour régression

  • error : pour classification

  • map : pour classement

Pour obtenir la liste des entrées valides, consultez XGBoost Learning Task Parameters.

Facultatif

Valeurs valides : string.

Valeur par défaut : valeur par défaut selon l'objectif.

gamma

Diminution de perte minimale requise pour effectuer une partition supplémentaire sur un nœud terminal de l'arbre. Plus la valeur est grande, plus l'algorithme est prudent.

Facultatif

Valeurs valides : float. Plage : [0,∞).

Valeur par défaut : 0

grow_policy

Contrôle la façon dont les nouveaux nœuds sont ajoutés à l'arbre. Actuellement pris en charge uniquement si tree_method a la valeur hist.

Facultatif

Valeurs valides : string. "depthwise" ou "lossguide".

Valeur par défaut : "depthwise"

interaction_constraints

Spécifiez les groupes de variables qui sont autorisés à interagir.

Facultatif

Valeurs valides : liste imbriquée d'entiers. Chaque entier représente une fonction, et chaque liste imbriquée contient des fonctions qui sont autorisées à interagir, par exemple, [[1,2], [3,4,5]].

Valeur par défaut : None (Aucune)

lambda

Condition de régularisation L2 sur les pondérations. L'augmentation de cette valeur rend les modèles plus prudents.

Facultatif

Valeurs valides : float.

Valeur par défaut : 1

lambda_bias

Condition de régularisation L2 sur un biais.

Facultatif

Valeurs valides : float. Plage : [0.0, 1.0].

Valeur par défaut : 0

max_bin

Nombre maximal de compartiments distincts pour compartimenter les fonctions continues. Utilisé uniquement si tree_method a la valeur hist.

Facultatif

Valeurs valides : nombre entier.

Valeur par défaut : 256

max_delta_step

Étape delta maximale autorisée pour chaque estimation de pondération d'arbre. Quand un nombre entier positif est utilisé, il permet que la mise à jour soit encore plus prudente. L'option privilégiée consiste à l'utiliser dans une régression logistique. Définissez-la entre 1-10 pour aider à contrôler la mise à jour.

Facultatif

Valeurs valides : nombre entier. Plage : [0,∞).

Valeur par défaut : 0

max_depth

Profondeur maximale d'un arbre. L'augmentation de cette valeur rend le modèle plus complexe et susceptible d'être surajusté. 0 indique l'absence de limite. Une limite est requise quand grow_policy=depth-wise.

Facultatif

Valeurs valides : nombre entier. Plage : [0,∞)

Valeur par défaut : 6

max_leaves

Nombre maximal de nœuds à ajouter. Pertinent uniquement si grow_policy a la valeur lossguide.

Facultatif

Valeurs valides : nombre entier.

Valeur par défaut : 0

min_child_weight

Somme minimale de la pondération (Hessian) d'instance nécessaire dans un enfant. Si l'étape de partition de l'arbre se traduit par un nœud terminal avec la somme de pondération d'instance inférieure à min_child_weight, le processus de développement abandonne tout partitionnement supplémentaire. Dans les modèles de régression linéaire, cela correspond simplement à un nombre minimal d'instances requis dans chaque nœud. Plus la valeur est grande, plus l'algorithme est prudent.

Facultatif

Valeurs valides : float. Plage : [0,∞).

Valeur par défaut : 1

monotone_constraints

Spécifie les limites de monotonicité sur n'importe quelle fonction.

Facultatif

Valeurs valides : Tuple d'entiers. Entiers valides : -1 (limite décroissante), 0 (aucune limite), 1 (limite croissante).

Par exemple, (0, 1) : aucune limite sur le premier prédicteur, et une limite croissante sur le second. (-1, 1) : limite décroissante sur le premier prédicteur, et limite croissante sur le second.

Valeur par défaut : (0, 0)

normalize_type

Type d'algorithme de normalisation.

Facultatif

Valeurs valides : tree ou forest.

Valeur par défaut : tree

nthread

Nombre de threads parallèles utilisés pour exécuter xgboost.

Facultatif

Valeurs valides : nombre entier.

Valeur par défaut : nombre maximal de threads.

objective

Spécifie la tâche d'apprentissage et l'objectif d'apprentissage correspondant. Exemples : reg:logistic, multi:softmax, reg:squarederror. Pour obtenir la liste complète des entrées valides, reportez-vous à XGBoost Learning Task Parameters.

Facultatif

Valeurs valides : string

Valeur par défaut : "reg:squarederror"

one_drop

Lorsque cet indicateur est activé, au moins un arbre est toujours supprimé pendant l'opération de dropout.

Facultatif

Valeurs valides : 0 ou 1

Valeur par défaut : 0

process_type

Type de processus de boosting à exécuter.

Facultatif

Valeurs valides : string. "default" ou "update".

Valeur par défaut : "default"

rate_drop

Taux de dropout qui spécifie la fraction des arbres précédents à supprimer pendant le dropout.

Facultatif

Valeurs valides : float. Plage : [0.0, 1.0].

Valeur par défaut : 0.0

refresh_leaf

Il s'agit d'un paramètre du plug-in de mise à jour « refresh ». Lorsque ce paramètre est défini surtrue (1), les feuilles de l'arbre et les statistiques des nœuds de l'arbre sont mises à jour. Lorsque la valeur est définie sur false(0), seules les statistiques des nœuds de l'arbre sont mises à jour.

Facultatif

Valeurs valides : 0 | 1

Valeur par défaut : 1

sample_type

Type d'algorithme d'échantillonnage.

Facultatif

Valeurs valides : uniform ou weighted.

Valeur par défaut : uniform

scale_pos_weight

Contrôle le solde de pondérations positives et négatives. Utile pour les classes non équilibrées. Valeur typique à prendre en compte : sum(negative cases) / sum(positive cases).

Facultatif

Valeurs valides : float

Valeur par défaut : 1

seed

Nombre d'amorçage aléatoire.

Facultatif

Valeurs valides : nombre entier

Valeur par défaut : 0

single_precision_histogram

Lorsque cet indicateur est activé, XGBoost utilise une précision unique pour créer des histogrammes au lieu de la double précision. Utilisé uniquement si tree_method a la valeur hist ou gpu_hist.

Pour obtenir la liste complète des entrées valides, reportez-vous à XGBoost Parameters.

Facultatif

Valeurs valides : string. Plage : "true" ou "false"

Valeur par défaut : "false"

sketch_eps

Utilisé uniquement pour l'algorithme gourmand (glouton) approximatif. Cela se traduit en O(1/ sketch_eps) nombre de compartiments. Par comparaison avec la sélection directe du nombre de compartiments, celui-ci s'accompagne d'une garantie théorique avec précision d'esquisse.

Facultatif

Valeurs valides : Float, Plage : [0, 1].

Valeur par défaut : 0.03

skip_drop

Probabilité d'ignorer la procédure de dropout pendant une itération de boosting.

Facultatif

Valeurs valides : float. Plage : [0.0, 1.0].

Valeur par défaut : 0.0

subsample

Ratio de sous-échantillon de l'instance d'entraînement. La valeur 0,5 signifie que XGBoost recueille de façon aléatoire la moitié des instances de données pour développer les arbres. Cela empêche le surajustement.

Facultatif

Valeurs valides : float. Plage : [0,1].

Valeur par défaut : 1

tree_method

Algorithme de construction des arbres utilisé dans XGBoost.

Facultatif

Valeurs valides : auto, exact, approx, hist ou gpu_hist.

Valeur par défaut : auto

tweedie_variance_power

Paramètre qui contrôle la variance de la distribution Tweedie.

Facultatif

Valeurs valides : float. Plage : (1, 2).

Valeur par défaut : 1.5

updater

Chaîne séparée par des virgules qui définit la séquence des programmes de mise à jour des arbres à exécuter. Cela fournit une solution modulaire pour créer et modifier les arbres.

Pour obtenir la liste complète des entrées valides, reportez-vous à XGBoost Parameters.

Facultatif

Valeurs valides : chaîne séparée par des virgules.

Valeur par défaut : grow_colmaker, prune.

use_dask_gpu_training

Définissez use_dask_gpu_training sur "true" si vous souhaitez exécuter l'entraînement GPU distribué avec Dask. L'entraînement GPU avec Dask est pris en charge uniquement pour les versions 1.5-1 et ultérieures. Ne définissez pas cette valeur sur "true" pour les versions antérieures à 1.5-1. Pour plus d’informations, consultez Entraînement GPU distribué.

Facultatif

Valeurs valides : string. Plage : "true" ou "false"

Valeur par défaut : "false"

verbosity

Niveau de détail de l'impression des messages.

Valeurs valides : 0 (silencieux), 1 (avertissement), 2 (info), 3 (débogage).

Facultatif

Valeur par défaut : 1