XGBoost ile grid search
Artık XGBoost ile parametreleri tek tek nasıl ayarlayacağını öğrendiğine göre, bunu bir adım öteye taşıyalım: scikit-learn'ün GridSearch ve RandomizedSearch yeteneklerini, dahili çapraz doğrulama ile (GridSearchCV ve RandomizedSearchCV fonksiyonları) kullanacağız. Bunları, birden fazla parametre için olası değerlerin bir koleksiyonu arasından, en iyi modeli kapsamlı şekilde bulmak için kullanacaksın. Haydi GridSearchCV ile başlayalım!
Bu egzersiz
XGBoost ile Aşırı Gradyan Artırma
kursunun bir parçasıdırEgzersiz talimatları
gbm_param_gridadlı bir parametre ızgarası oluştur:"colsample_bytree"için (0.3,0.7) değerlerini içeren bir liste,"n_estimators"için tek bir değerden oluşan bir liste (50) ve"max_depth"için 2 değerden (2,5) oluşan bir liste bulunsun.gbmadlı birXGBRegressornesnesi oluştur.grid_mseadlı birGridSearchCVnesnesi oluştur ve şunları geçir: parametre ızgarasınıparam_gridargümanına,XGBRegressor'ıestimatorargümanına,"neg_mean_squared_error"'ıscoringargümanına ve4'ücvargümanına. Ayrıca çıktıyı daha iyi anlayabilmek içinverbose=1belirt.GridSearchCVnesnesiniXvey'ye fit et.grid_msenesnesinin sırasıyla.best_params_ve.best_score_özniteliklerini kullanarak en iyi parametre değerlerini ve en düşük RMSE'yi yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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(____)))