Cross-validation आँकड़े
आपने अपने रैंडम फॉरेस्ट क्लासिफायर को ट्यून करने के लिए ग्रिड सर्च CV का उपयोग किया है, और अब आप क्रॉस-वैलिडेशन परिणामों को देखना चाहते हैं ताकि सुनिश्चित कर सकें कि आपने ओवरफिट नहीं किया. खास तौर पर, आप प्रत्येक फोल्ड के mean test score से mean training score का अंतर निकालना चाहते हैं. डेटासेट X_train और y_train के रूप में उपलब्ध है, पाइपलाइन pipe है, और कई मॉड्यूल पहले से लोड हैं जिनमें pandas as pd और GridSearchCV() शामिल हैं.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में मशीन लर्निंग वर्कफ़्लो डिज़ाइन करना
अभ्यास निर्देश
- तीन क्रॉस-वैलिडेशन फोल्ड्स के साथ एक ग्रिड सर्च ऑब्जेक्ट बनाइए और सुनिश्चित कीजिए कि यह training और test दोनों के आँकड़े लौटाए.
- ग्रिड सर्च ऑब्जेक्ट को training डेटा पर फिट कीजिए.
- फिट किए गए CV ऑब्जेक्ट के
cv_results_एट्रिब्यूट में उपलब्ध क्रॉस-वैलिडेशन परिणामों को एक डेटाफ़्रेम में स्टोर कीजिए. - औसत test score वाली कॉलम और औसत training score वाली कॉलम के बीच का अंतर प्रिंट कीजिए.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Fit your pipeline using GridSearchCV with three folds
grid_search = GridSearchCV(
pipe, params, ____=3, return_train_score=____)
# Fit the grid search
gs = grid_search.____(____, ____)
# Store the results of CV into a pandas dataframe
results = pd.____(gs.____)
# Print the difference between mean test and training scores
print(
results[____]-results['mean_train_score'])