Mulai sekarangMulai 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 merupakan bagian dari kursus

Metode Ensemble di Python

Lihat Kursus

Instruksi 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 langsung praktik

Cobalah latihan ini dengan melengkapi kode contoh ini.

# 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