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

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

फ़ाइल रखरखाव

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

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

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

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

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

यंत्र अधिगम

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

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

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

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

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

पायथन संदर्भ

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

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

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

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

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

पायथन उदाहरण

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

मशीन लर्निंग - बहुपद प्रतिगमन


बहुपद प्रतिगमन

यदि आपके डेटा बिंदु स्पष्ट रूप से एक रेखीय प्रतिगमन (सभी डेटा बिंदुओं के माध्यम से एक सीधी रेखा) में फिट नहीं होंगे, तो यह बहुपद प्रतिगमन के लिए आदर्श हो सकता है।

बहुपद प्रतिगमन, रैखिक प्रतिगमन की तरह, डेटा बिंदुओं के माध्यम से एक रेखा खींचने का सबसे अच्छा तरीका खोजने के लिए चर x और y के बीच संबंध का उपयोग करता है।


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

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

नीचे दिए गए उदाहरण में, हमने 18 कारों को पंजीकृत किया है क्योंकि वे एक निश्चित टोल बूथ से गुजर रही थीं।

हमने कार की गति दर्ज की है, और दिन का समय (घंटा) गुजर रहा है।

एक्स-अक्ष दिन के घंटों का प्रतिनिधित्व करता है और वाई-अक्ष गति का प्रतिनिधित्व करता है:

उदाहरण

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

import matplotlib.pyplot as plt

x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22]
y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]

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

परिणाम:

उदाहरण

आयात करें numpyऔर matplotlibफिर बहुपद प्रतिगमन की रेखा बनाएं:

import numpy
import matplotlib.pyplot as plt

x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22]
y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]

mymodel = numpy.poly1d(numpy.polyfit(x, y, 3))

myline = numpy.linspace(1, 22, 100)

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

परिणाम:

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

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

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

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

import numpy
import matplotlib.pyplot as plt

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

x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22]
y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]

NumPy की एक विधि है जो हमें एक बहुपद मॉडल बनाने देती है:

mymodel = numpy.poly1d(numpy.polyfit(x, y, 3))

फिर निर्दिष्ट करें कि रेखा कैसे प्रदर्शित होगी, हम स्थिति 1 से शुरू करते हैं और स्थिति 22 पर समाप्त होते हैं:

myline = numpy.linspace(1, 22, 100)

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

plt.scatter(x, y)

बहुपद समाश्रयण की रेखा खींचिए:

plt.plot(myline, mymodel(myline))

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

plt.show()



आर चुकता

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

संबंध को r-वर्ग नामक मान से मापा जाता है।

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

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

उदाहरण

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

import numpy
from sklearn.metrics import r2_score

x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22]
y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]

mymodel = numpy.poly1d(numpy.polyfit(x, y, 3))

print(r2_score(y, mymodel(x)))

नोट: परिणाम 0.94 दर्शाता है कि एक बहुत अच्छा संबंध है, और हम भविष्य की भविष्यवाणियों में बहुपद प्रतिगमन का उपयोग कर सकते हैं।


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

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

उदाहरण: आइए हम एक कार की गति का अनुमान लगाने का प्रयास करें जो लगभग 17 बजे टोल बूथ से गुजरती है:

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

mymodel = numpy.poly1d(numpy.polyfit(x, y, 3))

उदाहरण

17 PM पर गुजरने वाली कार की गति का अनुमान लगाएं:

import numpy
from sklearn.metrics import r2_score

x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22]
y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]

mymodel = numpy.poly1d(numpy.polyfit(x, y, 3))

speed = mymodel(17)
print(speed)

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


खराब फिट?

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

उदाहरण

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

import numpy
import matplotlib.pyplot as plt

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]

mymodel = numpy.poly1d(numpy.polyfit(x, y, 3))

myline = numpy.linspace(2, 95, 100)

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

परिणाम:

और आर-वर्ग मूल्य?

उदाहरण

आपको बहुत कम r-वर्ग मान मिलना चाहिए।

import numpy
from sklearn.metrics import r2_score

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]

mymodel = numpy.poly1d(numpy.polyfit(x, y, 3))

print(r2_score(y, mymodel(x)))

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