메인 콘텐츠로 건너뛰기
Colab에서 실행해 보기 wandb 라이브러리는 XGBoost로 학습할 때 메트릭, 설정(config), 저장된 booster 모델을 로깅하기 위한 WandbCallback 콜백을 제공합니다. 여기에서 XGBoost WandbCallback의 출력 결과를 보여주는 실시간 W&B 대시보드를 확인할 수 있습니다.
XGBoost를 사용하는 W&B 대시보드

시작하기

XGBoost 메트릭, 설정(config), 부스터 모델을 W&B에 로깅하는 작업은 WandbCallback을 XGBoost에 전달하기만 하면 될 정도로 간단합니다:
from wandb.integration.xgboost import WandbCallback
import xgboost as XGBClassifier

...
# wandb 실행 시작
with wandb.init() as run:
  # 모델에 WandbCallback 전달
  bst = XGBClassifier()
  bst.fit(X_train, y_train, callbacks=[WandbCallback(log_model=True)])
XGBoost와 W&B로 로깅하는 방법을 자세히 살펴보려면 이 노트북을 열어보세요.

WandbCallback 참조

기능

WandbCallback을 XGBoost 모델에 전달하면 다음을 수행합니다:
  • booster 모델 구성을 W&B에 기록합니다
  • XGBoost에서 수집한 rmse, accuracy 등의 평가 지표를 W&B에 기록합니다
  • (eval_set에 데이터를 제공한 경우) XGBoost에서 수집한 학습 지표를 W&B에 기록합니다
  • 최고 점수와 최고 iteration을 기록합니다
  • 학습된 모델을 W&B 아티팩트에 저장하고 업로드합니다 (log_model = True인 경우)
  • log_feature_importance=True(기본값)일 때 특성 중요도(feature importance) 플롯을 기록합니다.
  • define_metric=True(기본값)일 때 최고 평가 지표를 wandb.Run.summary에 저장합니다.

Arguments

  • log_model: (boolean) True인 경우 모델을 W&B 아티팩트에 저장하고 업로드합니다.
  • 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는 대규모 하이퍼파라미터 실험을 구성, 오케스트레이션 및 분석하기 위한 강력한 도구 세트입니다. Colab에서 실행해 보기 또한 이 XGBoost & Sweeps Python 스크립트를 사용해 볼 수도 있습니다.
XGBoost 성능 비교