Model selection
Model selection में regularization और cross validation दोनों ही शक्तिशाली टूल हैं. Regularization overfitting रोकने में मदद करता है और cross validation यह सुनिश्चित करता है कि आपके मॉडल्स का मूल्यांकन ठीक से हो रहा है. इस अभ्यास में, आप regularization और cross validation को साथ में उपयोग करेंगे और देखेंगे कि मॉडल्स में महत्वपूर्ण अंतर है या नहीं. आप केवल precision की गणना करेंगे, हालाँकि यही अभ्यास आसानी से recall और अन्य evaluation metrics के लिए भी किया जा सकता है.
X_train, y_train, X_test, y_test आपके workspace में उपलब्ध हैं. pandas pd नाम से, numpy np नाम से, और sklearn भी आपके workspace में उपलब्ध हैं. sklearn.metrics से precision_score() और recall_score() उपलब्ध हैं, साथ ही sklearn.model_selection से KFold() और cross_val_score() भी उपलब्ध हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Machine Learning के साथ CTR प्रेडिक्शन
अभ्यास निर्देश
n_splitsका उपयोग करके चार स्प्लिट वाला K-Fold cross validation सेट अप करें और उसेk-foldमें असाइन करें.- एक decision tree classifier बनाएँ.
- दिए गए
max_depthमान के लिए अपने decision tree मॉडल की precision और recall का मूल्यांकन करने हेतु cross validation चलाने मेंk_foldका उपयोग करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Iterate over different levels of max depth and set up k-fold
for max_depth_val in [3, 5, 10]:
k_fold = ____(____ = 4, random_state = 0, shuffle = True)
clf = ____(____ = max_depth_val)
print("Evaluating Decision Tree for max_depth = %s" %(max_depth_val))
y_pred = clf.fit(____, ____).predict(____)
# Calculate precision for cross validation and test
cv_precision = ____(
____, X_train, y_train, cv = k_fold, scoring = 'precision_weighted')
precision = ____(y_test, y_pred, average = 'weighted')
print("Cross validation Precision: %s" %(cv_precision))
print("Test Precision: %s" %(precision))