XGBoost के साथ रैंडम सर्च
कई बार GridSearchCV में बहुत समय लगता है, इसलिए प्रैक्टिस में आप RandomizedSearchCV इस्तेमाल करना चाहेंगे, जैसा कि आप इस अभ्यास में करेंगे। अच्छी बात यह है कि RandomizedSearchCV करने के लिए आपको अपने GridSearchCV कोड में बस कुछ मामूली बदलाव करने होते हैं। मुख्य अंतर यह है कि आपको param_grid की जगह param_distributions पैरामीटर बताना होता है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
XGBoost के साथ Extreme Gradient Boosting
अभ्यास निर्देश
gbm_param_gridनाम का एक पैरामीटर ग्रिड बनाएँ जिसमें'n_estimators'के लिए एकल मान (25) वाली एक सूची हो, और'max_depth'के लिए2से11तक के मानों की सूची हो — इसके लिएrange(2, 12)का उपयोग करें.randomized_mseनाम का एकRandomizedSearchCVऑब्जेक्ट बनाएँ, जिसमें पास करें: पैरामीटर ग्रिड कोparam_distributionsमें,XGBRegressorकोestimatorमें,"neg_mean_squared_error"कोscoringमें,5कोn_iterमें, और4कोcvमें। आउटपुट बेहतर समझने के लिएverbose=1भी सेट करें.RandomizedSearchCVऑब्जेक्ट कोXऔरyपर फिट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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_)))