टेस्ट एरर का अनुमान लगाना
अब जबकि आपके पास posterior_predictive है (आपके वर्कस्पेस में उपलब्ध), आप नए डेटा पर मॉडल का परफॉर्मेंस जाँच सकते हैं। ऐसा करने के लिए, आपको टेस्ट ऑब्ज़र्वेशंस पर लूप चलाना होगा, और प्रत्येक के लिए, इस ऑब्ज़र्वेशन की प्रेडिक्टिव डिस्ट्रीब्यूशन और वास्तविक, सही मान के बीच अंतर लेकर प्रेडिक्शन एरर निकालना होगा। इससे आपको अपने मॉडल के एरर की डिस्ट्रीब्यूशन मिलेगी, जिसे आप विज़ुअलाइज़ कर सकते हैं.
आपको pymc3 और numpy की ज़रूरत होगी, जिन्हें क्रमशः pm और np के रूप में इम्पोर्ट किया गया है। टेस्ट डेटा bikes_test भी आपके वर्कस्पेस में उपलब्ध है। चलिए शुरू करते हैं!
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Bayesian डेटा विश्लेषण
अभ्यास निर्देश
errorsको एक खाली लिस्ट के रूप में इनिशियलाइज़ करें.bikes_testकी हर पंक्ति के लिए, इस पंक्ति केposterior_predictiveसे मिले प्रेडिक्टिव ड्रॉज़ में से उसी पंक्ति केnum_bikesके एकल वास्तविक मान को घटाकर प्रेडिक्शन एरर निकालें.errorsकोnumpyarray में बदलकर और.reshape()मेथड लगाकर रीशेप करें, और अंतिम परिणाम कोerror_distributionमें असाइन करें.pymc3केplot_posterior()फंक्शन का उपयोग करके टेस्ट एरर डिस्ट्रीब्यूशन प्लॉट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Initialize errors
errors = ____
# Iterate over rows of bikes_test to compute error per row
for index, test_example in bikes_test.iterrows():
error = ____[____][:, ____] - ____[____]
errors.append(error)
# Reshape errors
error_distribution = ____(____).____()
# Plot the error distribution
____
plt.show()