MulaiMulai sekarang secara gratis

Kompetisi boosting: Light vs Extreme

Walaupun performa model CatBoost cukup baik, mari coba dua varian boosting lainnya dan lihat mana yang lebih unggul: pendekatan "Light" atau "Extreme".

CatBoost sangat direkomendasikan ketika ada fitur kategorikal. Dalam kasus ini, semua fitur bersifat numerik, sehingga salah satu pendekatan lain mungkin menghasilkan kinerja yang lebih baik.

Karena kita membangun regressor, kita akan menggunakan parameter tambahan, objective, yang menentukan fungsi pembelajaran yang digunakan. Untuk menerapkan squared error, kita akan menetapkan objective ke 'reg:squarederror' untuk XGBoost dan 'mean_squared_error' untuk LightGBM.

Selain itu, kita akan menentukan parameter n_jobs untuk XGBoost guna meningkatkan waktu komputasinya.

CATATAN: hati-hati jangan menggunakan classifier, atau sesi Anda bisa kedaluwarsa!

Latihan ini adalah bagian dari kursus

Metode Ensemble di Python

Lihat Kursus

Petunjuk latihan

  • Bangun XGBRegressor dengan parameter: max_depth = 3, learning_rate = 0.1, n_estimators = 100, dan n_jobs=2.
  • Bangun LGBMRegressor dengan parameter: max_depth = 3, learning_rate = 0.1, dan n_estimators = 100.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Build and fit an XGBoost regressor
reg_xgb = ____.____(____, ____, ____, ____, objective='reg:squarederror', random_state=500)
reg_xgb.fit(X_train, y_train)

# Build and fit a LightGBM regressor
reg_lgb = ____.____(____, ____, ____, objective='mean_squared_error', seed=500)
reg_lgb.fit(X_train, y_train)

# Calculate the predictions and evaluate both regressors
pred_xgb = reg_xgb.predict(X_test)
rmse_xgb = np.sqrt(mean_squared_error(y_test, pred_xgb))
pred_lgb = reg_lgb.predict(X_test)
rmse_lgb = np.sqrt(mean_squared_error(y_test, pred_lgb))

print('Extreme: {:.3f}, Light: {:.3f}'.format(rmse_xgb, rmse_lgb))
Edit dan Jalankan Kode