Passer au contenu principal
La bibliothèque 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

Prise en main

La journalisation des métriques XGBoost, des configurations et des modèles booster dans W&B est aussi simple que de transmettre WandbCallback à XGBoost :
from wandb.integration.xgboost import WandbCallback
import xgboost as XGBClassifier

...
# Démarrer un run wandb
with wandb.init() as run:
  # Passer WandbCallback au modèle
  bst = XGBClassifier()
  bst.fit(X_train, y_train, callbacks=[WandbCallback(log_model=True)])
Vous pouvez ouvrir ce notebook pour obtenir une vue d’ensemble complète de la journalisation avec XGBoost et W&B

Référence de WandbCallback

Fonctionnalité

Passer WandbCallback à un modèle XGBoost permet de :
  • journaliser la configuration du modèle booster dans W&B
  • journaliser les métriques d’évaluation collectées par XGBoost, comme rmse, accuracy, etc., dans W&B
  • journaliser les métriques d’entraînement collectées par XGBoost (si vous fournissez des données à eval_set)
  • journaliser le meilleur score et la meilleure itération
  • enregistrer et téléverser votre modèle entraîné dans W&B Artifacts (lorsque log_model = True)
  • journaliser le graphique d’importance des variables lorsque log_feature_importance=True (par défaut).
  • Capturer la meilleure métrique d’évaluation dans wandb.Run.summary lorsque define_metric=True (par défaut).

Arguments

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

Ajustez vos hyperparamètres avec Sweeps

Pour obtenir les meilleures performances de vos modèles, vous devez ajuster des hyperparamètres, comme la profondeur de l’arbre et le taux d’apprentissage. W&B Sweeps est une boîte à outils puissante pour configurer, orchestrer et analyser des campagnes de tests d’hyperparamètres à grande échelle. Vous pouvez aussi essayer ce script Python XGBoost & Sweeps.
Comparaison des performances de XGBoost