Apa itu Boosting?

Extreme Gradient Boosting dengan XGBoost

Sergey Fogelson

Head of Data Science, TelevisaUnivision

Gambaran boosting

  • Bukan algoritme Machine Learning tertentu
  • Konsep yang dapat diterapkan pada sekumpulan model Machine Learning
    • "Meta-algorithm"
  • Meta-algoritme ansambel untuk mengubah banyak weak learner menjadi strong learner
Extreme Gradient Boosting dengan XGBoost

Weak learner dan strong learner

  • Weak learner: algoritme ML yang sedikit lebih baik dari peluang acak
    • Contoh: decision tree dengan akurasi sedikit di atas 50%
  • Boosting mengubah kumpulan weak learner menjadi strong learner
  • Strong learner: algoritme yang dapat dituning untuk mencapai kinerja baik
Extreme Gradient Boosting dengan XGBoost

Bagaimana boosting dilakukan

  • Secara iteratif melatih serangkaian model lemah pada subset data
  • Membobot setiap prediksi lemah sesuai kinerja masing-masing weak learner
  • Menggabungkan prediksi berbobot menjadi satu prediksi berbobot
  • ... yang jauh lebih baik daripada prediksi masing-masing!
Extreme Gradient Boosting dengan XGBoost

Contoh boosting

1 https://xgboost.readthedocs.io/en/latest/model.html
Extreme Gradient Boosting dengan XGBoost

Evaluasi model dengan cross-validation

  • Cross-validation: metode andal untuk mengestimasi kinerja model pada data yang belum terlihat
  • Membuat banyak pembagian train/test yang tidak saling tumpang tindih pada data latih
  • Melaporkan rata-rata kinerja test set di semua pembagian data
Extreme Gradient Boosting dengan XGBoost

Cross-validation di XGBoost (contoh)

import xgboost as xgb
import pandas as pd

churn_data = pd.read_csv("classification_data.csv")
churn_dmatrix = xgb.DMatrix(data=churn_data.iloc[:,:-1], label=churn_data.month_5_still_here)
params={"objective":"binary:logistic","max_depth":4}
cv_results = xgb.cv(dtrain=churn_dmatrix, params=params, nfold=4, num_boost_round=10, metrics="error", as_pandas=True)
print("Accuracy: %f" %((1-cv_results["test-error-mean"]).iloc[-1]))
Accuracy: 0.88315
Extreme Gradient Boosting dengan XGBoost

Ayo berlatih!

Extreme Gradient Boosting dengan XGBoost

Preparing Video For Download...