시작하기무료로 시작하기

기저 학습기로서의 의사결정나무

이제 XGBoost 모델로 주택 가격을 예측해 볼 시간이에요. 영상에서 다뤘던 매사추세츠주 보스턴이 아니라, 아이오와주 에임스 데이터셋을 사용합니다! 주택 가격 데이터는 df라는 DataFrame에 미리 적재되어 있어요. 셸에서 살펴보면, 주택 자체와 도시 내 위치에 관한 다양한 특성이 포함되어 있음을 알 수 있어요.

이번 연습에서는 나무를 기저 학습기(base learner)로 사용해 보겠습니다. 기본적으로 XGBoost는 나무를 기저 학습기로 사용하므로, 여기서는 booster="gbtree"를 따로 지정할 필요가 없어요.

xgboostxgb로 임포트되어 있고, 특성과 타깃에 해당하는 배열은 각각 Xy에 준비되어 있어요.

이 연습은 강의의 일부입니다

XGBoost로 익히는 Extreme Gradient Boosting

강의 보기

연습 안내

  • df를 학습 세트와 테스트 세트로 분할하세요. 테스트 비율은 20%로 하고, random_state123을 사용하세요.
  • XGBRegressorxg_reg로 인스턴스화하세요. seed123, objective는 "reg:squarederror"로 지정하고, 트리는 10개 사용하세요. 참고: 기본값이므로 booster="gbtree"는 지정하지 않아도 됩니다.
  • xg_reg를 학습 데이터에 적합하고, 테스트 세트의 레이블을 예측하세요. 예측값은 preds 변수에 저장하세요.
  • sklearn.metrics에서 미리 임포트된 mean_squared_error()np.sqrt()를 사용해 rmse를 계산하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Create the training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, ____=____, random_state=123)

# Instantiate the XGBRegressor: xg_reg
xg_reg = ____

# Fit the regressor to the training set
____

# Predict the labels of the test set: preds
preds = ____

# Compute the rmse: rmse
rmse = ____(____(____, ____))
print("RMSE: %f" % (rmse))
코드 편집 및 실행