Ricerca casuale con XGBoost
Spesso, GridSearchCV può richiedere molto tempo; in pratica, potresti preferire RandomizedSearchCV, come farai in questo esercizio. La buona notizia è che ti basta modificare poco il codice di GridSearchCV per passare a RandomizedSearchCV. La differenza principale è che devi specificare il parametro param_distributions al posto di param_grid.
Questo esercizio fa parte del corso
Extreme Gradient Boosting con XGBoost
Istruzioni dell'esercizio
- Crea una griglia di parametri chiamata
gbm_param_gridche contenga una lista con un singolo valore per'n_estimators'(25) e una lista di valori tra2e11per'max_depth'— usarange(2, 12)per questo. - Crea un oggetto
RandomizedSearchCVchiamatorandomized_mse, passando: la griglia di parametri aparam_distributions,XGBRegressoraestimator,"neg_mean_squared_error"ascoring,5an_itere4acv. Specifica ancheverbose=1per capire meglio l'output. - Esegui il fit dell'oggetto
RandomizedSearchCVsuXey.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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_)))