Boosting क्या है?

XGBoost के साथ Extreme Gradient Boosting

Sergey Fogelson

Head of Data Science, TelevisaUnivision

Boosting का ओवरव्यू

  • कोई एक विशिष्ट Machine Learning एल्गोरिदम नहीं
  • एक अवधारणा जो कई Machine Learning मॉडलों पर लागू होती है
    • "Meta-algorithm"
  • Ensemble meta-algorithm जो कई weak learners को मिलाकर एक strong learner बनाता है
XGBoost के साथ Extreme Gradient Boosting

Weak learners और strong learners

  • Weak learner: ऐसा ML एल्गोरिदम जो संयोग से थोड़ा बेहतर हो
    • उदाहरण: Decision tree जिसकी भविष्यवाणी 50% से थोड़ी बेहतर हो
  • Boosting weak learners के समूह को strong learner में बदलता है
  • Strong learner: कोई भी एल्गोरिदम जिसे ट्यून करके अच्छा प्रदर्शन दिलाया जा सके
XGBoost के साथ Extreme Gradient Boosting

Boosting कैसे किया जाता है

  • डेटा के उप-सेट्स पर क्रमिक रूप से weak मॉडल सीखना
  • हर weak learner के प्रदर्शन के अनुसार उसकी भविष्यवाणी को वज़न देना
  • वेटेड भविष्यवाणियों को जोड़कर एक एकल वेटेड भविष्यवाणी पाना
  • ... जो व्यक्तिगत भविष्यवाणियों से कहीं बेहतर होती है!
XGBoost के साथ Extreme Gradient Boosting

Boosting उदाहरण

1 https://xgboost.readthedocs.io/en/latest/model.html
XGBoost के साथ Extreme Gradient Boosting

Cross-validation से मॉडल मूल्यांकन

  • Cross-validation: अनदेखे डेटा पर मॉडल का प्रदर्शन आँकने की विश्वसनीय विधि
  • Training डेटा पर कई non-overlapping train/test splits बनाता है
  • सभी splits पर औसत test set प्रदर्शन रिपोर्ट करता है
XGBoost के साथ Extreme Gradient Boosting

XGBoost में Cross-validation उदाहरण

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
XGBoost के साथ Extreme Gradient Boosting

अभ्यास करते हैं!

XGBoost के साथ Extreme Gradient Boosting

Preparing Video For Download...