1. 학습
  2. /
  3. 강의
  4. /
  5. XGBoost로 익히는 Extreme Gradient Boosting

Connected

연습 문제

XGBoost: 학습/예측

이제 첫 번째 XGBoost 모델을 만들어 볼 시간이에요! Sergey가 영상에서 보여준 것처럼, xgboost 라이브러리는 scikit-learn과 호환되는 API를 제공하므로, 익숙한 scikit-learn의 .fit() / .predict() 패턴을 그대로 사용해 XGBoost 모델을 만들 수 있어요.

여기서는 이탈(churn) 데이터를 다룹니다. 이 데이터셋은 가상의 도시에서 승차 공유 앱을 사용하는 가상 사용자들의 첫 한 달간 행동과, 가입 5개월 후에도 서비스를 이용했는지 여부를 담고 있어요. 데이터는 churn_data라는 DataFrame으로 미리 로드되어 있으니 Shell에서 살펴보세요!

목표는 첫 한 달의 데이터를 사용해 5개월 시점에도 사용자가 서비스를 계속 이용할지 예측하는 것입니다. 이것이 전형적인 이탈 예측 문제 설정이에요. 이를 위해 데이터를 훈련/테스트 세트로 나누고, 훈련 세트에 작은 xgboost 모델을 학습시킨 뒤, 테스트 세트에서 정확도를 계산해 성능을 평가합니다.

pandas와 numpy는 각각 pd, np로 임포트되어 있고, sklearn.model_selection에서 train_test_split도 임포트되어 있어요. 또한 특성과 타깃에 해당하는 배열은 각각 X와 y로 생성되어 있습니다.

지침

100 XP
  • xgboost를 xgb로 임포트하세요.
  • 데이터의 20%를 테스트용으로 사용하도록 훈련/테스트 세트를 만드세요. random_state는 123으로 설정합니다.
  • xgb.XGBClassifier()로 XGBoostClassifier를 xg_cl이라는 이름으로 인스턴스화하세요. n_estimators는 10, objective는 'binary:logistic'으로 지정합니다. 이 매개변수들의 의미는 아직 몰라도 괜찮아요. 이 강의에서 곧 배우게 됩니다.
  • .fit() 메서드를 사용해 xg_cl을 훈련 세트(X_train, y_train)에 적합하세요.
  • .predict() 메서드로 테스트 세트(X_test)의 레이블을 예측하고 'Submit Answer'를 눌러 정확도를 출력하세요.