Пошук по сітці з 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(____)))