पायथन ट्यूटोरियल

अजगर घर पायथन परिचय पायथन आरंभ करें पायथन सिंटेक्स पायथन टिप्पणियाँ पायथन वेरिएबल्स पायथन डेटा प्रकार अजगर संख्या पायथन कास्टिंग पायथन स्ट्रिंग्स पायथन बूलियन्स पायथन ऑपरेटर्स पायथन सूचियाँ पायथन टुपल्स पायथन सेट पायथन डिक्शनरी अजगर अगर... और पाइथन जबकि लूप्स लूप्स के लिए पायथन पायथन कार्य अजगर लैम्ब्डा पायथन एरेज़ पायथन क्लासेस/ऑब्जेक्ट्स पायथन इनहेरिटेंस पायथन इटरेटर्स पायथन स्कोप पायथन मॉड्यूल अजगर तिथियाँ पायथन मठ पायथन JSON पायथन रेगेक्स पायथन पीआईपी अजगर का प्रयास करें... को छोड़कर पायथन उपयोगकर्ता इनपुट पायथन स्ट्रिंग स्वरूपण

फ़ाइल रखरखाव

पायथन फ़ाइल हैंडलिंग पायथन फ़ाइलें पढ़ें पायथन लिखें/फाइलें बनाएं पायथन फ़ाइलें हटाएं

पायथन मॉड्यूल

न्यूमपी ट्यूटोरियल पांडा वॉकथ्रू स्काइप ट्यूटोरियल

पायथन माटप्लोटलिब

माटप्लोटलिब परिचय माटप्लोटलिब आरंभ करें माटप्लोटलिब पाइप्लॉट माटप्लोटलिब प्लॉटिंग माटप्लोटलिब मार्कर माटप्लोटलिब लाइन माटप्लोटलिब लेबल माटप्लोटलिब ग्रिड माटप्लोटलिब सबप्लॉट्स माटप्लोटलिब स्कैटर माटप्लोटलिब बार्स माटप्लोटलिब हिस्टोग्राम Matplotlib पाई चार्ट

यंत्र अधिगम

शुरू करना मध्यमान मध्यम मोड मानक विचलन प्रतिशतता डेटा वितरण सामान्य डेटा वितरण स्कैटर प्लॉट रेखीय प्रतिगमन बहुपद प्रतिगमन बहु - प्रतिगमन स्केल ट्रेन / टेस्ट निर्णय वृक्ष

पायथन मायएसक्यूएल

MySQL प्रारंभ करें MySQL डेटाबेस बनाएँ MySQL तालिका बनाएँ MySQL सम्मिलित करें MySQL चुनें MySQL कहाँ MySQL ऑर्डर बाय MySQL हटाएं MySQL ड्रॉप टेबल MySQL अद्यतन MySQL सीमा मायएसक्यूएल जॉइन

पायथन मोंगोडीबी

मोंगोडीबी आरंभ करें MongoDB डेटाबेस बनाएँ MongoDB संग्रह बनाएँ मोंगोडीबी डालें मोंगोडीबी खोजें मोंगोडीबी क्वेरी मोंगोडीबी सॉर्ट मोंगोडीबी हटाएं MongoDB ड्रॉप संग्रह मोंगोडीबी अपडेट मोंगोडीबी सीमा

पायथन संदर्भ

पायथन अवलोकन पायथन बिल्ट-इन फंक्शन्स पायथन स्ट्रिंग तरीके पायथन सूची के तरीके पायथन डिक्शनरी के तरीके पायथन टुपल तरीके पायथन सेट मेथड्स पायथन फ़ाइल तरीके पायथन कीवर्ड पायथन अपवाद पायथन शब्दावली

मॉड्यूल संदर्भ

यादृच्छिक मॉड्यूल अनुरोध मॉड्यूल सांख्यिकी मॉड्यूल गणित मॉड्यूल सीमैथ मॉड्यूल

पायथन कैसे करें

सूची डुप्लिकेट निकालें एक स्ट्रिंग को उल्टा करें दो नंबर जोड़ें

पायथन उदाहरण

पायथन उदाहरण पायथन कंपाइलर अजगर व्यायाम अजगर प्रश्नोत्तरी पायथन प्रमाणपत्र

मशीन लर्निंग - लीनियर रिग्रेशन


वापसी

प्रतिगमन शब्द का प्रयोग तब किया जाता है जब आप चरों के बीच संबंध खोजने का प्रयास करते हैं।

मशीन लर्निंग में, और सांख्यिकीय मॉडलिंग में, उस संबंध का उपयोग भविष्य की घटनाओं के परिणाम की भविष्यवाणी करने के लिए किया जाता है।


रेखीय प्रतिगमन

रैखिक प्रतिगमन उन सभी के माध्यम से एक सीधी रेखा खींचने के लिए डेटा-बिंदुओं के बीच संबंध का उपयोग करता है।

इस रेखा का उपयोग भविष्य के मूल्यों की भविष्यवाणी करने के लिए किया जा सकता है।

मशीन लर्निंग में, भविष्य की भविष्यवाणी करना बहुत महत्वपूर्ण है।


यह कैसे काम करता है?

पायथन में डेटा-बिंदुओं के बीच संबंध खोजने और रैखिक प्रतिगमन की एक रेखा खींचने के तरीके हैं। हम आपको दिखाएंगे कि गणित के फार्मूले के बजाय इन विधियों का उपयोग कैसे करें।

नीचे दिए गए उदाहरण में, x-अक्ष आयु का प्रतिनिधित्व करता है, और y-अक्ष गति का प्रतिनिधित्व करता है। हमने 13 कारों की उम्र और गति दर्ज की है क्योंकि वे एक टोल बूथ से गुजर रही थीं। आइए देखें कि क्या हमारे द्वारा एकत्र किया गया डेटा एक रेखीय प्रतिगमन में उपयोग किया जा सकता है:

उदाहरण

स्कैटर प्लॉट बनाकर शुरू करें:

import matplotlib.pyplot as plt

x = [5,7,8,7,2,17,2,9,4,11,12,9,6]
y = [99,86,87,88,111,86,103,87,94,78,77,85,86]

plt.scatter(x, y)
plt.show()

परिणाम:

उदाहरण

scipyरेखीय प्रतिगमन की रेखा आयात और ड्रा करें:

import matplotlib.pyplot as plt
from scipy import stats

x = [5,7,8,7,2,17,2,9,4,11,12,9,6]
y = [99,86,87,88,111,86,103,87,94,78,77,85,86]

slope, intercept, r, p, std_err = stats.linregress(x, y)

def myfunc(x):
  return slope * x + intercept

mymodel = list(map(myfunc, x))

plt.scatter(x, y)
plt.plot(x, mymodel)
plt.show()

परिणाम:

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

आपको आवश्यक मॉड्यूल आयात करें।

आप हमारे Matplotlib ट्यूटोरियल में Matplotlib मॉड्यूल के बारे में जान सकते हैं

आप हमारे SciPy ट्यूटोरियल में SciPy मॉड्यूल के बारे में जान सकते हैं

import matplotlib.pyplot as plt
from scipy import stats

एक्स और वाई अक्ष के मानों का प्रतिनिधित्व करने वाले सरणी बनाएं:

x = [5,7,8,7,2,17,2,9,4,11,12,9,6]
y = [99,86,87,88,111,86,103,87,94,78,77,85,86]

एक ऐसी विधि निष्पादित करें जो लीनियर रिग्रेशन के कुछ महत्वपूर्ण प्रमुख मान लौटाए:

slope, intercept, r, p, std_err = stats.linregress(x, y)

एक नया मान वापस करने के लिए slopeऔर मानों का उपयोग करने वाला फ़ंक्शन बनाएं । interceptयह नया मान दर्शाता है कि y-अक्ष पर संगत x मान कहाँ रखा जाएगा:

def myfunc(x):
  return slope * x + intercept

फ़ंक्शन के माध्यम से x सरणी के प्रत्येक मान को चलाएँ। यह y-अक्ष के लिए नए मानों के साथ एक नई सरणी में परिणत होगा:

mymodel = list(map(myfunc, x))

मूल स्कैटर प्लॉट ड्रा करें:

plt.scatter(x, y)

रैखिक प्रतिगमन की रेखा खींचे:

plt.plot(x, mymodel)

आरेख प्रदर्शित करें:

plt.show()



रिश्ते के लिए आर

यह जानना महत्वपूर्ण है कि x-अक्ष के मानों और y-अक्ष के मानों के बीच संबंध कैसा है, यदि कोई संबंध नहीं है तो रैखिक प्रतिगमन का उपयोग किसी भी चीज़ की भविष्यवाणी करने के लिए नहीं किया जा सकता है।

यह संबंध - सहसंबंध का गुणांक - कहलाता है r

rमान -1 से 1 तक होता है, जहां 0 का अर्थ कोई संबंध नहीं है, और 1 (और -1) का अर्थ 100% संबंधित है

Python और Scipy मॉड्यूल आपके लिए इस मान की गणना करेंगे, आपको बस इसे x और y मानों के साथ फीड करना है।

उदाहरण

मेरा डेटा एक रेखीय प्रतिगमन में कितनी अच्छी तरह फिट बैठता है?

from scipy import stats

x = [5,7,8,7,2,17,2,9,4,11,12,9,6]
y = [99,86,87,88,111,86,103,87,94,78,77,85,86]

slope, intercept, r, p, std_err = stats.linregress(x, y)

print(r)

नोट: परिणाम -0.76 दर्शाता है कि एक संबंध है, परिपूर्ण नहीं है, लेकिन यह इंगित करता है कि हम भविष्य की भविष्यवाणियों में रैखिक प्रतिगमन का उपयोग कर सकते हैं।


भविष्य के मूल्यों की भविष्यवाणी करें

अब हम भविष्य के मूल्यों की भविष्यवाणी करने के लिए एकत्रित की गई जानकारी का उपयोग कर सकते हैं।

उदाहरण: आइए हम एक 10 वर्ष पुरानी कार की गति का अनुमान लगाने का प्रयास करें।

ऐसा करने के लिए, हमें myfunc()ऊपर दिए गए उदाहरण से समान फ़ंक्शन की आवश्यकता है:

def myfunc(x):
  return slope * x + intercept

उदाहरण

10 साल पुरानी कार की गति की भविष्यवाणी करें:

from scipy import stats

x = [5,7,8,7,2,17,2,9,4,11,12,9,6]
y = [99,86,87,88,111,86,103,87,94,78,77,85,86]

slope, intercept, r, p, std_err = stats.linregress(x, y)

def myfunc(x):
  return slope * x + intercept

speed = myfunc(10)

print(speed)

उदाहरण ने 85.6 की गति की भविष्यवाणी की, जिसे हम आरेख से भी पढ़ सकते हैं:


खराब फिट?

आइए एक उदाहरण बनाएं जहां भविष्य के मूल्यों की भविष्यवाणी करने के लिए रैखिक प्रतिगमन सबसे अच्छा तरीका नहीं होगा।

उदाहरण

x- और y-अक्ष के लिए इन मानों का परिणाम रैखिक प्रतिगमन के लिए बहुत खराब फिट होना चाहिए:

import matplotlib.pyplot as plt
from scipy import stats

x = [89,43,36,36,95,10,66,34,38,20,26,29,48,64,6,5,36,66,72,40]
y = [21,46,3,35,67,95,53,72,58,10,26,34,90,33,38,20,56,2,47,15]

slope, intercept, r, p, std_err = stats.linregress(x, y)

def myfunc(x):
  return slope * x + intercept

mymodel = list(map(myfunc, x))

plt.scatter(x, y)
plt.plot(x, mymodel)
plt.show()

परिणाम:

और rरिश्ते के लिए?

उदाहरण

आपको बहुत कम rमूल्य मिलना चाहिए।

import numpy
from scipy import stats

x = [89,43,36,36,95,10,66,34,38,20,26,29,48,64,6,5,36,66,72,40]
y = [21,46,3,35,67,95,53,72,58,10,26,34,90,33,38,20,56,2,47,15]

slope, intercept, r, p, std_err = stats.linregress(x, y)

print(r)

परिणाम: 0.013 एक बहुत खराब संबंध को इंगित करता है, और हमें बताता है कि यह डेटा सेट रैखिक प्रतिगमन के लिए उपयुक्त नहीं है।