Дерева рішень як базові учні
Час побудувати модель XGBoost для передбачення цін на житло — не в Бостоні, Массачусетс, як у відео, а в Еймсі, Айова! Цей набір даних про ціни на житло вже завантажено у датафрейм df. Якщо дослідити його в оболонці, ви побачите різноманітні ознаки про сам будинок і його розташування в місті.
У цій вправі ваша мета — використати дерева як базових учнів. Типово XGBoost застосовує дерева як базових учнів, тож вам не потрібно додатково задавати booster="gbtree".
xgboost імпортовано як xgb, а масиви з ознаками та цільовою змінною доступні відповідно в X і y.
Ця вправа є частиною курсу
Екстремальний градієнтний бустинг з XGBoost
Інструкції до вправи
- Розбийте
dfна тренувальну та тестову вибірки, виділивши 20% для тестування. Використайтеrandom_stateдорівнює123. - Ініціалізуйте
XGBRegressorякxg_reg, використавшиseed123. Вкажіть objective"reg:squarederror"і використайте 10 дерев. Примітка: не потрібно вказуватиbooster="gbtree", це значення за замовчуванням. - Навчіть
xg_regна тренувальних даних та передбачте мітки тестової вибірки. Збережіть передбачення у зміннійpreds. - Обчисліть
rmse, використавшиnp.sqrt()і функціюmean_squared_error()зsklearn.metrics, яку вже імпортовано.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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))