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

Випадковий пошук з 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_)))
Редагувати та запускати код