Náhodné prohledávání s XGBoostem
GridSearchCV může být v praxi velmi časově náročné, proto se místo něj často hodí použít RandomizedSearchCV – a přesně to uděláš v tomto cvičení. Dobrá zpráva je, že stačí jen pár úprav stávajícího kódu pro GridSearchCV. Hlavní rozdíl spočívá v tom, že místo parametru param_grid použiješ parametr param_distributions.
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 s jednou hodnotou pro'n_estimators'(25) a seznam hodnot'max_depth'od2do11– použij k tomurange(2, 12). - Vytvoř objekt
RandomizedSearchCVs názvemrandomized_msea předej mu: mřížku parametrů doparam_distributions,XGBRegressordoestimator,"neg_mean_squared_error"doscoring,5don_itera4docv. Nastav takéverbose=1, aby byl výstup přehlednější. - Natrénuj objekt
RandomizedSearchCVna datechXay.
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 = 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_)))