Grid search med XGBoost
Nu när du har lärt dig att justera parametrar individuellt med XGBoost är det dags att ta parameterinställningen till nästa nivå. Det gör du med scikit-learns GridSearch- och RandomizedSearch-funktioner med inbyggd korsvalidering via GridSearchCV och RandomizedSearchCV. Med hjälp av dessa hittar du den bästa modellen genom att systematiskt söka igenom kombinationer av möjliga parametervärden för flera parametrar samtidigt. Vi börjar med GridSearchCV!
Den här övningen är en del av kursen
Extreme Gradient Boosting med XGBoost
Övningsinstruktioner
- Skapa ett parameternät kallat
gbm_param_gridsom innehåller en lista med"colsample_bytree"-värden (0.3,0.7), en lista med ett enskilt värde för"n_estimators"(50) och en lista med 2"max_depth"-värden (2,5). - Instansiera ett
XGBRegressor-objekt kallatgbm. - Skapa ett
GridSearchCV-objekt kallatgrid_mseoch ange: parameternätet tillparam_grid,XGBRegressortillestimator,"neg_mean_squared_error"tillscoringoch4tillcv. Ange ocksåverbose=1för att lättare förstå utdata. - Träna
GridSearchCV-objektet påXochy. - Skriv ut de bästa parametervärdena och det lägsta RMSE-värdet med hjälp av attributen
.best_params_respektive.best_score_förgrid_mse.
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 = ____
# 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(____)))