Cross validation
Cross validation एक तकनीक है जो किसी मॉडल के holdout प्रदर्शन की जाँच करने की कोशिश करती है. इसे इसलिए किया जाता है ताकि यह सुनिश्चित हो सके कि testing प्रदर्शन डेटा के split करने से जुड़ी किसी खास समस्या की वजह से नहीं आया. इस अभ्यास में, आप sklearn की implementations का उपयोग करके KFold() मॉड्यूल के साथ K-fold cross validation चलाएँगे ताकि एक decision tree के लिए precision और recall दोनों का आकलन किया जा सके.
X_train, y_train, X_test, y_test आपके workspace में उपलब्ध हैं. pandas pd नाम से, numpy np नाम से, और sklearn भी उपलब्ध हैं. sklearn.model_selection से KFold() और cross_val_score() भी उपलब्ध हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Machine Learning के साथ CTR प्रेडिक्शन
अभ्यास निर्देश
- एक decision tree classifier बनाएँ.
- चार splits के साथ K-Fold cross validation सेट करें और उसे
k-foldमें असाइन करें. - अपने मॉडल के precision और recall का मूल्यांकन करने के लिए
cross_val_score()का उपयोग करते हुएk_foldसे cross validation चलाएँ (औरrecall_score()याprecision_score()का उपयोग न करें!).
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Create model
clf = ____
# Set up k-fold
k_fold = ____(n_splits = 4, random_state = 0, shuffle = True)
# Evaluate precision and recall for each fold
precision = ____(
clf, X_train, ____, cv = ____, scoring = 'precision_weighted')
recall = ____(
clf, X_train, ____, cv = ____, scoring = 'recall_weighted')
print("Precision scores: %s" %(precision))
print("Recall scores: %s" %(recall))