Grid search s XGBoostem
Teď, když už víš, jak ladit parametry jednotlivě, posuneme ladění na vyšší úroveň – využijeme možnosti GridSearch a RandomizedSearch ze scikit-learn s interní křížovou validací prostřednictvím funkcí GridSearchCV a RandomizedSearchCV. Pomocí nich najdeš nejlepší model vyčerpávajícím prohledáváním napříč různými kombinacemi hodnot parametrů najednou. Začneme s GridSearchCV!
Toto cvičení je součástí kurzu
Extreme Gradient Boosting with XGBoost
Pokyny k cvičení
- Vytvoř mřížku parametrů
gbm_param_grid, která bude obsahovat: seznam hodnot"colsample_bytree"(0.3,0.7), seznam s jednou hodnotou"n_estimators"(50) a seznam dvou hodnot"max_depth"(2,5). - Vytvoř instanci objektu
XGBRegressors názvemgbm. - Vytvoř objekt
GridSearchCVs názvemgrid_msea předej mu: mřížku parametrů doparam_grid, objektXGBRegressordoestimator,"neg_mean_squared_error"doscoringa4docv. Nastav takéverbose=1, aby byl výstup přehlednější. - Natrénuj objekt
GridSearchCVna datechXay. - Vypiš nejlepší hodnoty parametrů a nejnižší RMSE pomocí atributů
.best_params_a.best_score_objektugrid_mse.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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(____)))