Grid search dengan XGBoost
Setelah Anda mempelajari cara menyetel parameter satu per satu dengan XGBoost, mari naik tingkat dengan memanfaatkan kemampuan GridSearch dan RandomizedSearch dari scikit-learn, dilengkapi validasi silang internal menggunakan fungsi GridSearchCV dan RandomizedSearchCV. Anda akan menggunakannya untuk mencari model terbaik secara menyeluruh dari sekumpulan kemungkinan nilai parameter di beberapa parameter secara bersamaan. Mari mulai bekerja, dimulai dengan GridSearchCV!
Latihan ini adalah bagian dari kursus
Extreme Gradient Boosting dengan XGBoost
Petunjuk latihan
- Buat parameter grid bernama
gbm_param_gridyang berisi daftar nilai"colsample_bytree"(0.3,0.7), daftar dengan satu nilai untuk"n_estimators"(50), dan daftar 2 nilai"max_depth"(2,5). - Instansiasikan objek
XGBRegressorbernamagbm. - Buat objek
GridSearchCVbernamagrid_mse, dengan meneruskan: parameter grid keparam_grid,XGBRegressorkeestimator,"neg_mean_squared_error"kescoring, dan4kecv. Juga tentukanverbose=1agar Anda dapat lebih memahami keluarannya. - Latih objek
GridSearchCVpadaXdany. - Cetak nilai parameter terbaik dan RMSE terendah, masing-masing menggunakan atribut
.best_params_dan.best_score_darigrid_mse.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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(____)))