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
Instructions de l’exercice
- Créez une grille de paramètres appelée
gbm_param_gridqui 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
XGBRegressornommégbm. - Créez un objet
GridSearchCVnommégrid_mse, en transmettant : la grille de paramètres àparam_grid, leXGBRegressoràestimator,"neg_mean_squared_error"àscoring, et4àcv. Indiquez aussiverbose=1pour mieux comprendre la sortie. - Ajustez l'objet
GridSearchCVàXety. - Affichez les meilleures valeurs de paramètres et le plus faible RMSE, en utilisant respectivement les attributs
.best_params_et.best_score_degrid_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(____)))