डेटा साइंस - लीनियर रिग्रेशन केस


केस: कैलोरी_बर्नेज की भविष्यवाणी करने के लिए अवधि + औसत_पल्स का उपयोग करें

व्याख्यात्मक चर के रूप में औसत_पल्स और अवधि के साथ एक रैखिक प्रतिगमन तालिका बनाएं:

उदाहरण

import pandas as pd
import statsmodels.formula.api as smf

full_health_data = pd.read_csv("data.csv", header=0, sep=",")

model = smf.ols('Calorie_Burnage ~ Average_Pulse + Duration', data = full_health_data)
results = model.fit()
print(results.summary())

उदाहरण समझाया:

  • पुस्तकालय statsmodels.formula.api को smf के रूप में आयात करें। Statsmodels Python में एक सांख्यिकीय पुस्तकालय है।
  • Full_health_data सेट का उपयोग करें।
  • smf.ols() के साथ साधारण कम से कम वर्गों पर आधारित एक मॉडल बनाएं। ध्यान दें कि व्याख्यात्मक चर को पहले कोष्ठक में लिखा जाना चाहिए। Full_health_data डेटा सेट का उपयोग करें।
  • .fit () को कॉल करके, आप चर परिणाम प्राप्त करते हैं। इसमें प्रतिगमन मॉडल के बारे में बहुत सारी जानकारी है।
  • रेखीय प्रतिगमन के परिणामों के साथ तालिका प्राप्त करने के लिए सारांश () को कॉल करें।

आउटपुट:

लीनियर रिग्रेशन टेबल केस

रैखिक प्रतिगमन फ़ंक्शन को गणितीय रूप से फिर से लिखा जा सकता है:

Calorie_Burnage = Average_Pulse * 3.1695 + Duration * 5.8424 - 334.5194

दो दशमलव तक पूर्णांकित:

Calorie_Burnage = Average_Pulse * 3.17 + Duration * 5.84 - 334.52


पायथन में लीनियर रिग्रेशन फंक्शन को परिभाषित करें

भविष्यवाणियां करने के लिए पायथन में रेखीय प्रतिगमन फ़ंक्शन को परिभाषित करें।

कैलोरी_बर्नेज क्या है यदि:

  • औसत नाड़ी 110 है और प्रशिक्षण सत्र की अवधि 60 मिनट है?
  • औसत नाड़ी 140 है और प्रशिक्षण सत्र की अवधि 45 मिनट है?
  • औसत नाड़ी 175 है और प्रशिक्षण सत्र की अवधि 20 मिनट है?

उदाहरण

def Predict_Calorie_Burnage(Average_Pulse, Duration):
 return(3.1695*Average_Pulse + 5.8434 * Duration - 334.5194)

print(Predict_Calorie_Burnage(110,60))
print(Predict_Calorie_Burnage(140,45))
print(Predict_Calorie_Burnage(175,20))

उत्तर:

  • औसत नाड़ी 110 है और प्रशिक्षण सत्र की अवधि 60 मिनट = 365 कैलोरी है
  • औसत नाड़ी 140 है और प्रशिक्षण सत्र की अवधि 45 मिनट = 372 कैलोरी है
  • औसत नाड़ी 175 है और प्रशिक्षण सत्र की अवधि 20 मिनट = 337 कैलोरी है

गुणांकों तक पहुंचें

गुणांक देखें:

  • यदि औसत पल्स एक से बढ़ जाए तो कैलोरी_बर्नेज 3.17 के साथ बढ़ता है।
  • यदि अवधि एक से बढ़ जाती है तो कैलोरी_बर्नेज 5.84 के साथ बढ़ता है।

पी-वैल्यू तक पहुंचें

प्रत्येक गुणांक के लिए P-मान देखें।

  • औसत_पल्स, अवधि और अवरोध के लिए पी-मान 0.00 है।
  • P-मान सभी चरों के लिए सांख्यिकीय रूप से महत्वपूर्ण है, क्योंकि यह 0.05 से कम है।

तो यहां हम यह निष्कर्ष निकाल सकते हैं कि औसत_पल्स और अवधि का कैलोरी_बर्नेज के साथ संबंध है।


समायोजित आर-वर्ग

यदि हमारे पास एक से अधिक व्याख्यात्मक चर हैं, तो R-वर्ग के साथ एक समस्या है।

यदि हम अधिक चर जोड़ते हैं, तो R-वर्ग लगभग हमेशा बढ़ेगा, और कभी कम नहीं होगा।

ऐसा इसलिए है क्योंकि हम रेखीय प्रतिगमन फ़ंक्शन के आसपास अधिक डेटा बिंदु जोड़ रहे हैं।

यदि हम यादृच्छिक चर जोड़ते हैं जो कैलोरी_बर्नेज को प्रभावित नहीं करते हैं, तो हम झूठा निष्कर्ष निकालने का जोखिम उठाते हैं कि रैखिक प्रतिगमन फ़ंक्शन एक अच्छा फिट है। समायोजित आर-वर्ग इस समस्या के लिए समायोजित करता है।

इसलिए यदि हमारे पास एक से अधिक व्याख्यात्मक चर हैं, तो समायोजित आर-वर्ग मान को देखना बेहतर है।

समायोजित आर-वर्ग 0.814 है।

R-Squared का मान हमेशा 0 से 1 (0% से 100%) के बीच होता है।

  • एक उच्च आर-वर्ग मान का अर्थ है कि कई डेटा बिंदु रैखिक प्रतिगमन फ़ंक्शन लाइन के करीब हैं।
  • कम R-वर्ग मान का मतलब है कि रैखिक प्रतिगमन फ़ंक्शन लाइन डेटा को अच्छी तरह से फिट नहीं करती है।

निष्कर्ष: मॉडल डेटा बिंदु को अच्छी तरह से फिट करता है!

बधाई हो! आपने अब डेटा विज्ञान पुस्तकालय का अंतिम मॉड्यूल समाप्त कर लिया है।