शुरू करेंमुफ़्त में शुरू करें

यह सर्वोत्तम कैसे है?

जिस फंक्शन np.polyfit() का उपयोग आपने regression parameters निकालने के लिए किया, वह optimal slope और intercept ढूँढता है। यह अवशेषों के वर्गों के योग, यानी RSS (residual sum of squares), को minimize करता है। इस अभ्यास में, आप उसी फंक्शन, यानी RSS, को slope पैरामीटर a के विरुद्ध प्लॉट करेंगे जिसे optimize किया जा रहा है। ऐसा करने के लिए, intercept को उस मान पर फिक्स करें जो आपने optimization में पाया था। फिर RSS को slope के विरुद्ध प्लॉट करें। इसका न्यूनतम कहाँ आता है?

यह अभ्यास पाठ्यक्रम का हिस्सा है

Statistical Thinking in Python (Part 2)

पाठ्यक्रम देखें

अभ्यास निर्देश

  • RSS compute करने के लिए slope के मान निर्दिष्ट करें। 0 और 0.1 की रेंज में 200 पॉइंट्स पाने के लिए np.linspace() का उपयोग करें। उदाहरण के लिए, 0 और 0.5 की रेंज में 100 पॉइंट्स पाने के लिए आप np.linspace() ऐसे लिख सकते हैं: np.linspace(0, 0.5, 100).
  • एक array rss initialize करें जो RSS को रखेगा, इसके लिए np.empty_like() का उपयोग करें और ऊपर बनाए गए array को इसमें पास करें। empty_like() फंक्शन किसी दिए गए array (इस मामले में a_vals) के समान shape और type वाला नया array लौटाता है।
  • एक for लूप लिखिए जो दिए गए slope के लिए RSS का sum compute करे। संकेत: RSS यह है: np.sum((y_data - a * x_data - b)**2)। पिछले अभ्यास में compute किया गया variable b पहले से आपके namespace में मौजूद है। यहाँ fertility y_data है और illiteracy x_data
  • RSS (rss) को slope (a_vals) के विरुद्ध प्लॉट करें।
  • प्लॉट देखने के लिए उत्तर सबमिट करें!

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

# Specify slopes to consider: a_vals
a_vals = ____

# Initialize sum of square of residuals: rss
rss = ____

# Compute sum of square of residuals for each value of a_vals
for i, a in enumerate(a_vals):
    rss[i] = ____((____ - a*____ - b)**2)

# Plot the RSS
plt.plot(____, ____, '-')
plt.xlabel('slope (children per woman / percent illiterate)')
plt.ylabel('sum of square of residuals')

plt.show()
कोड संपादित करें और चलाएँ