메인 콘텐츠로 건너뛰기
이 페이지에서는 W&B와 XGBoost 인테그레이션을 사용해 그래디언트 부스팅 메트릭, 모델 설정, 특성 중요도, 트레이닝된 부스터를 자동으로 로깅하여 XGBoost 실험을 추적, 비교, 재현하는 방법을 보여줍니다. W&B Python SDK(wandb)에는 XGBoost로 트레이닝할 때 메트릭, 설정, 저장된 부스터를 로깅하는 WandbCallback 콜백이 있습니다. 여기에서 XGBoost WandbCallback의 출력이 표시된 실시간 W&B 대시보드를 확인할 수 있습니다.
XGBoost를 사용한 W&B 대시보드

시작하기

XGBoost 메트릭, 설정, 부스터 모델을 W&B에 로깅하려면 WandbCallback을 XGBoost에 전달하세요:
XGBoost와 W&B에서의 로깅을 자세히 살펴보려면 XGBoost and W&B logging notebook을 참조하세요.

WandbCallback 레퍼런스

기능

XGBoost 모델에 WandbCallback을 전달하면 다음이 수행됩니다.
  • 부스터 모델 설정을 W&B에 기록합니다.
  • XGBoost가 수집한 rmse, 정확도 등의 evaluation 메트릭을 W&B에 기록합니다.
  • XGBoost가 수집한 트레이닝 메트릭을 기록합니다(eval_set에 데이터를 제공한 경우).
  • 최고 점수와 최적 반복 횟수를 기록합니다.
  • 트레이닝된 모델을 W&B Artifacts에 저장하고 업로드합니다(log_model = True인 경우).
  • log_feature_importance=True(기본값)일 때 특성 중요도 플롯을 기록합니다.
  • define_metric=True(기본값)일 때 최고 eval 메트릭을 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이면(기본값) 트레이닝의 마지막 step이 아니라 최적 step에서의 모델 성능을 run.summary에 기록합니다.
WandbCallback의 소스 코드를 검토하세요. 더 많은 예시는 GitHub의 예시 저장소를 참조하세요.

Sweeps로 하이퍼파라미터 조정하기

W&B Sweeps는 하이퍼파라미터 테스트 실험을 설정, 조율, 분석하기 위한 도구입니다. 이 섹션에서는 XGBoost 인테그레이션을 W&B Sweeps와 함께 사용해 다양한 하이퍼파라미터 설정을 검색하는 방법을 보여줍니다. 모델 성능을 개선하려면 트리 깊이와 학습률 같은 하이퍼파라미터를 조정하세요. XGBoost 및 Sweeps Python 스크립트도 사용해 보세요.
XGBoost 성능 비교