Accuracy मापना
अब आप XGBoost की learning API को उसकी इन-बिल्ट क्रॉस-वैलिडेशन क्षमता के साथ उपयोग करने का अभ्यास करेंगे। जैसा कि Sergey ने पिछले वीडियो में बताया, XGBoost अपनी शानदार परफॉर्मेंस और कुशलता अपने datasets के लिए ऑप्टिमाइज़्ड डेटा स्ट्रक्चर DMatrix का उपयोग करके पाता है.
पिछले अभ्यास में, इनपुट datasets को चलते-चलते DMatrix डेटा में बदला गया था, लेकिन जब आप xgboost के cv ऑब्जेक्ट का उपयोग करते हैं, तो आपको पहले अपने डेटा को स्पष्ट रूप से DMatrix में बदलना होता है। इसलिए, क्रॉस-वैलिडेशन चलाने से पहले आप यही काम churn_data पर करेंगे.
यह अभ्यास पाठ्यक्रम का हिस्सा है
XGBoost के साथ Extreme Gradient Boosting
अभ्यास निर्देश
xgb.DMatrix()का उपयोग करकेchurn_dataसेchurn_dmatrixनाम काDMatrixबनाएँ। फीचर्सXमें उपलब्ध हैं और लेबलyमें.xgb.cv()कॉल करके 3-fold क्रॉस-वैलिडेशन करें।dtrainआपकाchurn_dmatrixहै,paramsआपका पैरामीटर dictionary है,nfoldक्रॉस-वैलिडेशन folds की संख्या है (3),num_boost_roundवह ट्री काउंट है जो हम बनाना चाहते हैं (5), औरmetricsवह मेट्रिक है जिसे आप compute करना चाहते हैं (यह"error"होगा, जिसे हम accuracy में बदलेंगे)।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Create arrays for the features and the target: X, y
X, y = churn_data.iloc[:,:-1], churn_data.iloc[:,-1]
# Create the DMatrix from X and y: churn_dmatrix
churn_dmatrix = ____(data=____, label=____)
# Create the parameter dictionary: params
params = {"objective":"reg:logistic", "max_depth":3}
# Perform cross-validation: cv_results
cv_results = ____(dtrain=____, params=____,
nfold=____, num_boost_round=____,
metrics="____", as_pandas=____, seed=123)
# Print cv_results
print(cv_results)
# Print the accuracy
print(((1-cv_results["test-error-mean"]).iloc[-1]))