1. Learn
  2. /
  3. Courses
  4. /
  5. XGBoost로 익히는 Extreme Gradient Boosting

Connected

Exercise

선형 베이스 러너

이제 XGBoost에서 트리를 베이스 모델로 사용해 보았으니, XGBoost에서 사용할 수 있는 다른 유형의 베이스 모델인 선형 학습자도 사용해 보겠습니다. 이 모델은 XGBoost에서 흔히 쓰이진 않지만, XGBoost의 강력한 학습 API를 활용해 정규화된 선형 회귀를 만들 수 있습니다. 다만 일반적이지 않기 때문에, 모델을 만들 때는 xgb.train()처럼 scikit-learn 호환이 아닌 XGBoost 자체 함수를 사용해야 합니다.

이를 위해서는 사용하려는 부스터 종류를 설명하는 매개변수 딕셔너리를 만들어야 합니다(마치 1장에서 xgb.cv()를 사용할 때 딕셔너리를 만들었던 것과 유사합니다). 부스터 유형(베이스 모델)을 정의하는 데 필요한 키-값 쌍은 "booster":"gblinear"입니다.

모델을 만들고 나면, 이전과 마찬가지로 모델의 .train()과 .predict() 메서드를 사용할 수 있습니다.

여기서는 데이터가 이미 학습용과 테스트용으로 분할되어 있으므로, XGBoost 학습 API에 필요한 DMatrix 객체 생성부터 바로 시작하시면 됩니다.

Instructions

100 XP
  • 두 개의 DMatrix 객체를 만드세요. 학습 세트(X_train과 y_train)용 DM_train과, 테스트 세트(X_test와 y_test)용 DM_test입니다.
  • 사용할 "booster" 유형("gblinear")과 최소화할 "objective"("reg:squarederror")를 정의하는 매개변수 딕셔너리를 만드세요.
  • xgb.train()을 사용해 모델을 학습하세요. params, dtrain, num_boost_round에 대한 인자를 지정해야 합니다. 부스팅 라운드는 5를 사용하세요.
  • xg_reg.predict()에 DM_test를 전달하여 테스트 세트의 레이블을 예측하고, 결과를 preds에 할당하세요.
  • 'Submit Answer'를 눌러 RMSE를 확인하세요!