MulaiMulai sekarang secara gratis

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

Lihat Kursus

Petunjuk latihan

  • Buat grid parameter bernama gbm_param_grid yang berisi sebuah list dengan satu nilai untuk 'n_estimators' (25), dan list nilai 'max_depth' antara 2 hingga 11 untuk 'max_depth' - gunakan range(2, 12) untuk ini.
  • Buat objek RandomizedSearchCV bernama randomized_mse, dengan menyertakan: grid parameter tersebut ke param_distributions, XGBRegressor ke estimator, "neg_mean_squared_error" ke scoring, 5 ke n_iter, dan 4 ke cv. Tetapkan juga verbose=1 agar Anda dapat lebih memahami keluarannya.
  • Fit objek RandomizedSearchCV ke X dan y.

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_)))
Edit dan Jalankan Kode