ComenzarEmpieza gratis

Búsqueda aleatoria con XGBoost

A menudo, GridSearchCV puede llevar mucho tiempo, así que en la práctica quizá prefieras usar RandomizedSearchCV, como harás en este ejercicio. La buena noticia es que solo tienes que hacer unas pocas modificaciones a tu código de GridSearchCV para usar RandomizedSearchCV. La diferencia clave es que debes indicar un parámetro param_distributions en lugar de param_grid.

Este ejercicio forma parte del curso

Extreme Gradient Boosting con XGBoost

Ver curso

Instrucciones del ejercicio

  • Crea una rejilla de parámetros llamada gbm_param_grid que contenga una lista con un único valor para 'n_estimators' (25), y una lista de valores de 'max_depth' entre 2 y 11; usa range(2, 12) para ello.
  • Crea un objeto RandomizedSearchCV llamado randomized_mse, pasando: la rejilla de parámetros en param_distributions, el XGBRegressor en estimator, "neg_mean_squared_error" en scoring, 5 en n_iter y 4 en cv. Especifica también verbose=1 para entender mejor la salida.
  • Ajusta el objeto RandomizedSearchCV a X y y.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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_)))
Editar y ejecutar código