Passer au contenu principal
Cette page vous montre comment utiliser l’intégration W&B avec XGBoost pour journaliser automatiquement les métriques de gradient boosting, les configurations du modèle, l’importance des variables et les boosters entraînés afin de vous permettre de suivre, comparer et reproduire vos expériences XGBoost. Le SDK Python W&B (wandb) inclut un callback WandbCallback pour journaliser les métriques, les configurations et les boosters enregistrés lors de l’entraînement avec XGBoost. Vous pouvez voir ici un tableau de bord W&B en direct avec les résultats du WandbCallback de XGBoost.
Tableau de bord W&B avec XGBoost

Premiers pas

Pour enregistrer les métriques, les configurations et les modèles booster d’XGBoost dans W&B, passez WandbCallback à XGBoost :
Pour un aperçu complet de la journalisation avec XGBoost et W&B, consultez le notebook sur la journalisation avec XGBoost et W&B.

Référence de WandbCallback

Fonctionnalités

Passer WandbCallback à un modèle XGBoost entraîne les actions suivantes :
  • Journalise la configuration du modèle booster dans W&B.
  • Journalise les métriques d’évaluation collectées par XGBoost, telles que rmse, la précision, etc., dans W&B.
  • Journalise les métriques d’entraînement collectées par XGBoost (si vous fournissez des données à eval_set).
  • Journalise le meilleur score et la meilleure itération.
  • Enregistre et téléverse votre modèle entraîné vers les artefacts W&B (lorsque log_model = True).
  • Journalise le graphique d’importance des variables lorsque log_feature_importance=True (par défaut).
  • Capture la meilleure métrique d’évaluation dans wandb.Run.summary lorsque define_metric=True (par défaut).

Arguments

  • log_model : (boolean) si True, enregistre et téléverse le modèle dans les artefacts W&B.
  • log_feature_importance : (boolean) si True, journalise un graphique à barres d’importance des variables.
  • importance_type : (str) l’une des valeurs {weight, gain, cover, total_gain, total_cover} pour un modèle basé sur des arbres. weight pour un modèle linéaire.
  • define_metric : (boolean) si True (par défaut), capture les performances du modèle à la meilleure étape de l’entraînement, plutôt qu’à la dernière étape, dans votre run.summary.
Consultez le code source de WandbCallback. Pour plus d’exemples, consultez le dépôt d’exemples sur GitHub.

Ajustez vos hyperparamètres avec Sweeps

W&B Sweeps est une boîte à outils pour configurer, orchestrer et analyser des expériences de test d’hyperparamètres. Cette section montre comment combiner l’intégration XGBoost avec le balayage W&B pour explorer différentes configurations d’hyperparamètres. Pour améliorer les performances du modèle, ajustez des hyperparamètres comme la profondeur de l’arbre et le taux d’apprentissage. Vous pouvez aussi essayer ce script Python XGBoost et Sweeps.
Comparaison des performances de XGBoost