XGBoost: Fit/Predict
अब आपका पहला XGBoost मॉडल बनाने का समय है! जैसा कि Sergey ने वीडियो में दिखाया, आप scikit-learn के .fit() / .predict() पैटर्न का उपयोग करके अपने XGBoost मॉडल बना सकते हैं, क्योंकि xgboost लाइब्रेरी का API scikit-learn के अनुकूल है.
यहाँ, आप churn डेटा के साथ काम करेंगे। इस डेटासेट में एक राइड-शेयरिंग ऐप से काल्पनिक डेटा है: उपयोगकर्ताओं के पहले महीने के उपयोग व्यवहार, कुछ काल्पनिक शहरों के संदर्भ में, और यह भी कि साइन-अप के 5 महीने बाद उन्होंने सेवा का उपयोग किया या नहीं। इसे आपके लिए churn_data नाम के DataFrame में पहले से लोड किया गया है — Shell में इसे एक्सप्लोर कीजिए!
आपका लक्ष्य पहले महीने के डेटा के आधार पर यह भविष्यवाणी करना है कि 5 महीने बाद ऐप के उपयोगकर्ता सेवा के सक्रिय उपयोगकर्ता बने रहेंगे या नहीं। यह एक सामान्य churn प्रेडिक्शन सेटअप है। ऐसा करने के लिए, आप डेटा को प्रशिक्षण और टेस्ट सेट में बाँटेंगे, प्रशिक्षण सेट पर एक छोटा xgboost मॉडल फिट करेंगे, और टेस्ट सेट पर उसकी परफॉर्मेंस को उसकी accuracy निकालकर मूल्यांकित करेंगे।
pandas और numpy को क्रमशः pd और np के रूप में इम्पोर्ट किया गया है, और train_test_split को sklearn.model_selection से इम्पोर्ट किया गया है। इसके अलावा, फीचर्स और टारगेट के लिए एरेज़ X और y के रूप में बनाए जा चुके हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
XGBoost के साथ Extreme Gradient Boosting
अभ्यास निर्देश
xgboostकोxgbके रूप में इम्पोर्ट करें.- प्रशिक्षण और टेस्ट सेट ऐसे बनाएँ कि 20% डेटा टेस्टिंग के लिए उपयोग हो।
random_stateको123रखें. xgb.XGBClassifier()का उपयोग करकेxg_clनाम से एकXGBoostClassifierइंस्टैंशिएट करें।n_estimatorsको10औरobjectiveको'binary:logistic'सेट करें। अभी इनका अर्थ समझने की चिंता न करें, आप इन पैरामीटर्स के बारे में आगे इस कोर्स में सीखेंगे..fit()मेथड का उपयोग करकेxg_clको प्रशिक्षण सेट (X_train, y_train)पर फिट करें..predict()मेथड का उपयोग करके टेस्ट सेट (X_test) के लेबल प्रेडिक्ट करें और accuracy प्रिंट करने के लिए 'उत्तर सबमिट करें' दबाएँ.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Import xgboost
____
# Create arrays for the features and the target: X, y
X, y = churn_data.iloc[:,:-1], churn_data.iloc[:,-1]
# Create the training and test sets
X_train, X_test, y_train, y_test= ____(____, ____, test_size=____, random_state=123)
# Instantiate the XGBClassifier: xg_cl
xg_cl = ____.____(____='____', ____=____, seed=123)
# Fit the classifier to the training set
____
# Predict the labels of the test set: preds
preds = ____
# Compute the accuracy: accuracy
accuracy = float(np.sum(preds==y_test))/y_test.shape[0]
print("accuracy: %f" % (accuracy))