НачатьНачать бесплатно

Деревья решений как базовые алгоритмы

Пришло время построить модель 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))
Редактировать и запускать код