기저 학습기로서의 의사결정나무
이제 XGBoost 모델로 주택 가격을 예측해 볼 시간이에요. 영상에서 다뤘던 매사추세츠주 보스턴이 아니라, 아이오와주 에임스 데이터셋을 사용합니다! 주택 가격 데이터는 df라는 DataFrame에 미리 적재되어 있어요. 셸에서 살펴보면, 주택 자체와 도시 내 위치에 관한 다양한 특성이 포함되어 있음을 알 수 있어요.
이번 연습에서는 나무를 기저 학습기(base learner)로 사용해 보겠습니다. 기본적으로 XGBoost는 나무를 기저 학습기로 사용하므로, 여기서는 booster="gbtree"를 따로 지정할 필요가 없어요.
xgboost는 xgb로 임포트되어 있고, 특성과 타깃에 해당하는 배열은 각각 X와 y에 준비되어 있어요.
이 연습은 강의의 일부입니다
XGBoost로 익히는 Extreme Gradient Boosting
연습 안내
df를 학습 세트와 테스트 세트로 분할하세요. 테스트 비율은 20%로 하고,random_state는123을 사용하세요.XGBRegressor를xg_reg로 인스턴스화하세요.seed는123, 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))