メインコンテンツまでスキップ

XGBoost

Open In Colab

wandbライブラリには、XGBoostでのトレーニング時にメトリクス、設定、そして保存されたブースターをログに記録するためのWandbCallbackコールバックがあります。ここでは、XGBoostのWandbCallbackの出力が含まれるWeights & Biasesのライブダッシュボードをご覧いただけます。

XGBoostを使用したWeights & Biasesダッシュボード

はじめに

Weights & BiasesへのXGBoostメトリクス、設定、およびブースターモデルのログ記録は、WandbCallbackをXGBoostに渡すだけで簡単に行えます。

from wandb.xgboost import WandbCallback
import xgboost as XGBClassifier

...
# wandb runを開始
run = wandb.init()

# WandbCallbackをモデルに渡す
bst = XGBClassifier()
bst.fit(X_train, y_train, callbacks=[WandbCallback(log_model=True)])

# wandb runを終了
run.finish()

このノートブック を開いて、XGBoostとWeights&Biasesを使ったログの詳細を確認してください。

WandbCallback

機能

WandbCallbackをXGBoostモデルに渡すと、次のことができます。

  • ブースターモデルの設定をWeights&Biasesにログ
  • XGBoostによって収集される評価指標(rmse、精度など)をWeights&Biasesにログ
  • XGBoostによって収集されるトレーニング指標をログ(eval_setにデータを提供する場合)
  • 最高スコアと最適なイテレーションをログ
  • トレーニング済みモデルをWeights&Biases Artifactsに保存してアップロード(log_model = True の場合)
  • log_feature_importance=True(デフォルト)で特徴量重要度プロットをログ
  • define_metric=True(デフォルト)で、wandb.summary に最適なステップでのモデルのパフォーマンスを記録

引数

log_model: (boolean) Trueの場合、モデルをWeights&Biases Artifactsに保存してアップロード

log_feature_importance: (boolean) Trueの場合、特徴量重要度の棒グラフをログ

importance_type: (str) 木モデルの場合、{weight, gain, cover, total_gain, total_cover} のいずれか。線形モデルの場合、weight。

define_metric: (boolean) True(デフォルト)の場合、トレーニングの最後のステップではなく、最適なステップでのモデルのパフォーマンスを wandb.summary に記録。

WandbCallbackのソースコードはこちらで見ることができます。

備考

動作するコード例をもっと探していますか?GitHubの弊社リポジトリで例をチェックするか、Colabノートブックをお試しください。

スイープを使ったハイパーパラメータチューニング

モデルの最大性能を達成するためには、ハイパーパラメーター(例: 木の深さや学習率)をチューニングする必要があります。Weights & BiasesにはSweepsが含まれており、大規模なハイパーパラメータテスト実験の設定、制御、解析に適したパワフルなツールキットです。

備考

これらのツールについて詳しく学ぶために、XGBoostとSweepsを使った例を見るには、このインタラクティブなColabノートブックをチェックしてみてください。また、XGBoostとSweepsのPythonスクリプトも試してみてください。

要約:この分類データセットでは、木が線形学習者よりも優れた性能を発揮します。

Was this page helpful?👍👎