CommencezCommencez gratuitement

Recherche aléatoire avec XGBoost

Souvent, GridSearchCV peut être très long, donc en pratique, vous pourriez préférer utiliser RandomizedSearchCV, comme vous allez le faire dans cet exercice. La bonne nouvelle, c'est que vous n'avez que quelques changements à apporter à votre code GridSearchCV pour passer à RandomizedSearchCV. La différence clé, c'est que vous devez préciser un paramètre param_distributions au lieu de param_grid.

Cette activité fait partie du cours

Amorçage de gradient avancé avec XGBoost

Voir le cours

Instructions de l’exercice

  • 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 pour 'max_depth' allant de 2 à 11 — utilisez range(2, 12) pour cela.
  • Créez un objet RandomizedSearchCV nommé 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 aussi verbose=1 pour mieux comprendre le résultat.
  • Ajustez l'objet RandomizedSearchCV sur X et y.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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