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

Случайный поиск с XGBoost

GridSearchCV может занимать очень много времени, поэтому на практике удобнее использовать RandomizedSearchCV — именно это вы и сделаете в данном упражнении. Хорошая новость: чтобы перейти от GridSearchCV к RandomizedSearchCV, потребуется лишь несколько небольших изменений в коде. Главное отличие состоит в том, что вместо параметра param_grid нужно указать param_distributions.

Это упражнение является частью курса

Экстремальный градиентный бустинг с XGBoost

Посмотреть курс

Инструкции к упражнению

  • Создайте сетку параметров gbm_param_grid, которая содержит список с единственным значением 'n_estimators' (25), а также список значений 'max_depth' от 2 до 11 — используйте для этого 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_)))
Редактировать и запускать код