CommencezCommencez gratuitement

Recherche par grille avec XGBoost

Maintenant que vous avez appris à régler des paramètres individuellement avec XGBoost, passons à l'étape suivante en utilisant les fonctions GridSearch et RandomizedSearch de scikit-learn avec validation croisée interne grâce à GridSearchCV et RandomizedSearchCV. Vous les utiliserez pour trouver de façon exhaustive le meilleur modèle à partir d'un ensemble de valeurs possibles pour plusieurs paramètres simultanément. Allons-y, en commençant par GridSearchCV!

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 de valeurs pour "colsample_bytree" (0.3, 0.7), une liste avec une seule valeur pour "n_estimators" (50), et une liste de 2 valeurs pour "max_depth" (2, 5).
  • Instanciez un objet XGBRegressor nommé gbm.
  • Créez un objet GridSearchCV nommé grid_mse, en transmettant : la grille de paramètres à param_grid, le XGBRegressor à estimator, "neg_mean_squared_error" à scoring, et 4 à cv. Indiquez aussi verbose=1 pour mieux comprendre la sortie.
  • Ajustez l'objet GridSearchCV à X et y.
  • Affichez les meilleures valeurs de paramètres et le plus faible RMSE, en utilisant respectivement les attributs .best_params_ et .best_score_ de grid_mse.

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 = ____

# Perform grid search: grid_mse
grid_mse = ____


# Fit grid_mse to the data
____

# Print the best parameters and lowest RMSE
print("Best parameters found: ", ____)
print("Lowest RMSE found: ", np.sqrt(np.abs(____)))
Modifier et exécuter le code