Pencarian acak dengan XGBoost
Sering kali, GridSearchCV sangat memakan waktu, sehingga dalam praktiknya Anda mungkin ingin menggunakan RandomizedSearchCV sebagai gantinya, seperti yang akan Anda lakukan pada latihan ini. Kabar baiknya, Anda hanya perlu melakukan beberapa perubahan kecil pada kode GridSearchCV untuk menjalankan RandomizedSearchCV. Perbedaan utamanya adalah Anda harus menentukan parameter param_distributions alih-alih parameter param_grid.
Latihan ini adalah bagian dari kursus
Extreme Gradient Boosting dengan XGBoost
Petunjuk latihan
- Buat grid parameter bernama
gbm_param_gridyang berisi sebuah list dengan satu nilai untuk'n_estimators'(25), dan list nilai'max_depth'antara2hingga11untuk'max_depth'- gunakanrange(2, 12)untuk ini. - Buat objek
RandomizedSearchCVbernamarandomized_mse, dengan menyertakan: grid parameter tersebut keparam_distributions,XGBRegressorkeestimator,"neg_mean_squared_error"kescoring,5ken_iter, dan4kecv. Tetapkan jugaverbose=1agar Anda dapat lebih memahami keluarannya. - Fit objek
RandomizedSearchCVkeXdany.
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 = 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_)))