Slumpmässig sökning med XGBoost
I praktiken kan GridSearchCV vara mycket tidskrävande, så du kanske föredrar att använda RandomizedSearchCV i stället – vilket du gör i den här övningen. Det bästa är att du bara behöver göra några få ändringar i din GridSearchCV-kod. Den viktigaste skillnaden är att du anger parametern param_distributions i stället för param_grid.
Den här övningen är en del av kursen
Extreme Gradient Boosting med XGBoost
Övningsinstruktioner
- Skapa ett parameterrutnät kallat
gbm_param_gridsom innehåller en lista med ett enda värde för'n_estimators'(25), samt en lista med'max_depth'-värden mellan2och11– användrange(2, 12)för detta. - Skapa ett
RandomizedSearchCV-objekt kallatrandomized_mseoch skicka in: parameterrutnätet tillparam_distributions,XGBRegressortillestimator,"neg_mean_squared_error"tillscoring,5tilln_iteroch4tillcv. Ange ävenverbose=1för att lättare förstå utdata. - Anpassa
RandomizedSearchCV-objektet tillXochy.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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_)))