ПочатиПочніть безкоштовно

Пошук по сітці з XGBoost

Тепер, коли ви навчилися налаштовувати параметри окремо в XGBoost, піднімімо тюнінг на наступний рівень за допомогою можливостей GridSearch і RandomizedSearch з бібліотеки scikit-learn та внутрішньої крос-валідації через функції GridSearchCV і RandomizedSearchCV. Ви використаєте їх, щоб вичерпно знайти найкращу модель з колекції можливих значень параметрів одночасно для кількох параметрів. Почнімо з GridSearchCV!

Ця вправа є частиною курсу

Екстремальний градієнтний бустинг з XGBoost

Переглянути курс

Інструкції до вправи

  • Створіть сітку параметрів gbm_param_grid, що містить список значень "colsample_bytree" (0.3, 0.7), список із єдиним значенням для "n_estimators" (50) і список із двома значеннями "max_depth" (2, 5).
  • Створіть об'єкт XGBRegressor з назвою gbm.
  • Створіть об'єкт GridSearchCV під назвою grid_mse, передавши: сітку параметрів у param_grid, XGBRegressor у estimator, "neg_mean_squared_error" у scoring і 4 у cv. Також вкажіть verbose=1, щоб краще розуміти вивід.
  • Навчіть об'єкт GridSearchCV на X і y.
  • Виведіть найкращі значення параметрів і найменше RMSE, використовуючи відповідно атрибути .best_params_ і .best_score_ об'єкта grid_mse.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Create the parameter grid: gbm_param_grid
gbm_param_grid = {
    '____': [____, ____],
    '____': [____],
    '____': [____, ____]
}

# Instantiate the regressor: gbm
gbm = ____

# Perform grid search: grid_mse
grid_mse = ____


# Fit grid_mse to the data
____

# Print the best parameters and lowest RMSE
print("Best parameters found: ", ____)
print("Lowest RMSE found: ", np.sqrt(np.abs(____)))
Редагувати та запускати код