CommencerCommencer gratuitement

Recherche aléatoire avec XGBoost

Souvent, GridSearchCV peut être très chronophage. En pratique, vous pouvez donc préférer RandomizedSearchCV, comme dans cet exercice. La bonne nouvelle, c’est que vous n’avez que quelques ajustements à faire à votre code GridSearchCV pour utiliser RandomizedSearchCV. La différence essentielle est que vous devez fournir un paramètre param_distributions au lieu de param_grid.

Cet exercice fait partie du cours

Extreme Gradient Boosting avec XGBoost

Afficher le cours

Instructions

  • Créez une grille de paramètres appelée gbm_param_grid qui contient une liste avec une seule valeur pour 'n_estimators' (25), et une liste de valeurs 'max_depth' comprises entre 2 et 11 pour 'max_depth' — utilisez range(2, 12) pour cela.
  • Créez un objet RandomizedSearchCV appelé randomized_mse, en passant : la grille de paramètres à param_distributions, le XGBRegressor à estimator, "neg_mean_squared_error" à scoring, 5 à n_iter, et 4 à cv. Indiquez également verbose=1 afin de mieux comprendre le résultat.
  • Ajustez l’objet RandomizedSearchCV sur X et y.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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_)))
Modifier et exécuter le code