IniziaInizia gratis

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

Visualizza il corso

Istruzioni dell'esercizio

  • Crea una griglia di parametri chiamata gbm_param_grid che contenga una lista con un singolo valore per 'n_estimators' (25) e una lista di valori tra 2 e 11 per 'max_depth' — usa range(2, 12) per questo.
  • Crea un oggetto RandomizedSearchCV chiamato randomized_mse, passando: la griglia di parametri a param_distributions, XGBRegressor a estimator, "neg_mean_squared_error" a scoring, 5 a n_iter e 4 a cv. Specifica anche verbose=1 per capire meglio l'output.
  • Esegui il fit dell'oggetto RandomizedSearchCV su X e y.

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_)))
Modifica ed esegui il codice