Skip to main content
このページでは、W&B の XGBoost インテグレーションを使用して、勾配ブースティングのメトリクス、モデルの設定、特徴量の重要度、トレーニング済みの booster を自動的にログする方法を説明します。これにより、XGBoost の実験をトラッキング、比較、再現できるようになります。 W&B Python SDK (wandb) には、XGBoost によるトレーニングのメトリクス、設定、保存済みの booster をログする WandbCallback コールバックが用意されています。XGBoost の WandbCallback の出力を表示した W&B Dashboard のライブ例をご覧ください。
XGBoost を使用した W&B Dashboard

はじめに

XGBoost のメトリクス、設定、booster モデルを W&B にログするには、XGBoost に WandbCallback を渡します。
XGBoost と W&B でログする方法の詳細については、XGBoost と W&B のログ用ノートブックを参照してください。

WandbCallback リファレンス

機能

WandbCallback を XGBoost モデルに渡すと、次の処理が行われます。
  • booster のモデルの設定を W&B にログします。
  • rmse や精度など、XGBoost が収集した評価メトリクスを W&B にログします。
  • XGBoost が収集したトレーニングメトリクスをログします (eval_set にデータを指定した場合) 。
  • 最良のスコアと最良の反復処理をログします。
  • トレーニング済みモデルを保存し、W&B Artifacts にアップロードします (log_model = True の場合) 。
  • log_feature_importance=True (デフォルト) の場合、特徴量の重要度のプロットをログします。
  • define_metric=True (デフォルト) の場合、最良の評価メトリクスを wandb.Run.summary に取得します。

引数

  • log_model: (boolean) True の場合、モデルを保存して W&B Artifacts にアップロードします。
  • log_feature_importance: (boolean) True の場合、特徴量の重要度の棒グラフをログします。
  • importance_type: (str) ツリーモデルの場合は {weight, gain, cover, total_gain, total_cover} のいずれかを指定します。線形モデルの場合は weight を指定します。
  • define_metric: (boolean) True (デフォルト) の場合、トレーニングの最後のステップではなく、最良のステップにおけるモデル性能を run.summary に記録します。
WandbCallback のソースコードも参照してください。 その他のサンプルについては、GitHub のサンプルリポジトリを参照してください。

Sweeps でハイパーパラメーターをチューニングする

W&B Sweeps は、ハイパーパラメーターを検証する実験の設定、オーケストレーション、分析を行うためのツールキットです。このセクションでは、XGBoost インテグレーションと W&B Sweeps を組み合わせて、さまざまなハイパーパラメーター設定を探索する方法を説明します。 モデル性能を向上させるには、木の深さや学習率などのハイパーパラメーターをチューニングします。 こちらの XGBoost と Sweeps の Python スクリプトもお試しください。
XGBoost のパフォーマンス比較
最終更新日 2026年9月30日