1. Uczyć się
  2. /
  3. Courses
  4. /
  5. XGBoost로 익히는 Extreme Gradient Boosting

Connected

Exercise

early_stopping을 사용한 자동 boosting 라운드 선택

이제 더 이상 최적의 boosting 라운드 수를 일일이 골라낼 필요가 없습니다. xgb.cv() 안에서 XGBoost가 자동으로 boosting 라운드 수를 선택하도록 아주 쉽게 설정할 수 있어요. 이는 early stopping이라는 기법을 사용합니다.

Early stopping은 매 boosting 라운드마다 보류(hold-out) 데이터셋으로 XGBoost 모델을 평가하고, 지정된 라운드 수 동안 보류 지표(여기서는 "rmse")가 개선되지 않으면 추가 boosting 라운드 생성을 중단하여(즉, 학습을 조기 종료하여) 동작합니다. 여기서는 가능한 boosting 라운드 수를 크게 잡아(50) xgb.cv()의 early_stopping_rounds 매개변수를 사용하겠습니다. 참고로, 보류 지표가 num_boost_rounds에 도달할 때까지 계속 개선되면 early stopping은 발생하지 않습니다.

여기서는 DMatrix와 매개변수 딕셔너리가 이미 준비되어 있습니다. 여러분의 할 일은 early stopping을 적용하여 교차 검증을 수행하는 것입니다. 시작해 볼까요?

Instrukcje

100 XP
  • 3겹 교차 검증을 early stopping과 함께 수행하고, 평가지표는 "rmse"로 지정하세요. early_stopping_rounds는 10, boosting 라운드는 50으로 설정하세요. seed는 123으로 지정하고, 출력이 pandas DataFrame이 되도록 하세요. dtrain, params, metrics와 같은 다른 매개변수도 잊지 말고 지정하세요.
  • cv_results를 출력하세요.