Cross-validation टेस्टिंग की सीमाएँ
अगर आप बहुत ज़्यादा cross-validation करना चाहते हैं, तो आप nfold और num_boost_round दोनों के लिए बहुत बड़े मान दे सकते हैं. डेटा फ़्रेम cv_results_big पहले से वर्कस्पेस में लोड है और इसे नीचे दिए गए कोड से बनाया गया था:
cv = xgb.cv(params, DTrain, num_boost_round = 600, nfold=10,
shuffle = True)
यहाँ cv() ने cross-validation की 600 iterations चलाई हैं! पैरामीटर shuffle फंक्शन को हर बार रिकॉर्ड्स शफल करने को कहता है.
इन डेटा को देखिए कि AUC क्या हैं, और जाँचिए कि क्या cross validation के दौरान वे 1.0 तक पहुँचते हैं. आपको test AUC स्कोर को भी प्लॉट करना चाहिए ताकि उसका progression दिखे.
डेटा फ़्रेम cv_results_big वर्कस्पेस में लोड है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में क्रेडिट रिस्क मॉडलिंग
अभ्यास निर्देश
- CV परिणामों वाले डेटा फ़्रेम की पहली पाँच पंक्तियाँ प्रिंट करें.
- CV परिणामों वाले डेटा फ़्रेम से test सेट AUC का औसत दो दशमलव स्थान तक राउंड करके प्रिंट करें.
- हर iteration के दौरान test सेट AUC का line plot बनाइए.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Print the first five rows of the CV results data frame
print(____.____())
# Calculate the mean of the test AUC scores
print(np.____(____[____]).round(2))
# Plot the test AUC scores for each iteration
plt.____(____[____])
plt.title('Test AUC Score Over 600 Iterations')
plt.xlabel('Iteration Number')
plt.ylabel('Test AUC Score')
plt.____()