Випадковий пошук з XGBoost
Часто GridSearchCV може бути дуже повільним, тож на практиці ви можете використати RandomizedSearchCV, як у цій вправі. Добра новина: вам потрібно лише трохи змінити код GridSearchCV, щоб запустити RandomizedSearchCV. Ключова різниця — слід указати параметр param_distributions замість param_grid.
Ця вправа є частиною курсу
Екстремальний градієнтний бустинг з XGBoost
Інструкції до вправи
- Створіть сітку параметрів
gbm_param_grid, що містить список з єдиним значенням для'n_estimators'(25) і список значень'max_depth'у діапазоні від2до11для'max_depth'— використайте для цьогоrange(2, 12). - Створіть об'єкт
RandomizedSearchCVз назвоюrandomized_mse, передаючи: сітку параметрів уparam_distributions,XGBRegressorвestimator,"neg_mean_squared_error"уscoring,5вn_iterі4вcv. Також задайтеverbose=1, щоб краще розуміти вивід. - Навчіть об'єкт
RandomizedSearchCVнаXіy.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Create the parameter grid: gbm_param_grid
gbm_param_grid = {
'____': [____],
'____': ____(____, ____)
}
# Instantiate the regressor: gbm
gbm = xgb.XGBRegressor(n_estimators=10)
# Perform random search: grid_mse
randomized_mse = ____
# Fit randomized_mse to the data
____
# Print the best parameters and lowest RMSE
print("Best parameters found: ", randomized_mse.best_params_)
print("Lowest RMSE found: ", np.sqrt(np.abs(randomized_mse.best_score_)))