Деревья решений как базовые алгоритмы
Пришло время построить модель XGBoost для предсказания цен на жильё — не в Бостоне, штат Массачусетс, как было показано в видео, а в Эймсе, штат Айова! Набор данных о ценах на жильё уже загружен в DataFrame с именем df. Если вы изучите его в командной оболочке, то увидите разнообразные признаки, описывающие дом и его расположение в городе.
Цель этого упражнения — использовать деревья в качестве базовых алгоритмов. По умолчанию XGBoost применяет именно деревья, поэтому указывать booster="gbtree" явно не нужно.
Библиотека xgboost импортирована как xgb, массивы признаков и целевой переменной доступны в X и y соответственно.
Это упражнение является частью курса
Экстремальный градиентный бустинг с XGBoost
Инструкции к упражнению
- Разделите
dfна обучающую и тестовую выборки, оставив 20% данных для тестирования. Используйтеrandom_state=123. - Создайте экземпляр
XGBRegressorс именемxg_reg, указавseed=123. Задайте целевую функцию"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))