numpy
सरल रैखिक प्रतिगमन
खोज…
परिचय
डेटा बिंदुओं के एक समूह के लिए एक पंक्ति (या अन्य फ़ंक्शन) फिटिंग।
Np.polyfit का उपयोग करना
हम एक डेटासेट बनाते हैं जिसे हम फिर एक सीधी रेखा $ f (x) = mx + c $ के साथ फिट करते हैं।
npoints = 20
slope = 2
offset = 3
x = np.arange(npoints)
y = slope * x + offset + np.random.normal(size=npoints)
p = np.polyfit(x,y,1) # Last argument is degree of polynomial
यह देखने के लिए कि हमने क्या किया है:
import matplotlib.pyplot as plt
f = np.poly1d(p) # So we can call f(x)
fig = plt.figure()
ax = fig.add_subplot(111)
plt.plot(x, y, 'bo', label="Data")
plt.plot(x,f(x), 'b-',label="Polyfit")
plt.show()
नोट: यह उदाहरण https://docs.scipy.org/doc/numpy/reference/generated/numpy.polyfit.html पर काफी बारीकी से दस्तावेजीकरण करता है।
Np.linalg.lstsq का उपयोग करना
हम पॉलीफ़िट के साथ समान डेटासेट का उपयोग करते हैं:
npoints = 20
slope = 2
offset = 3
x = np.arange(npoints)
y = slope * x + offset + np.random.normal(size=npoints)
अब, हम रैखिक समीकरणों की प्रणाली को कम करके एक हल खोजने की कोशिश करते हैं। ए = सी को न्यूनतम करके | cA b | ** 2
import matplotlib.pyplot as plt # So we can plot the resulting fit
A = np.vstack([x,np.ones(npoints)]).T
m, c = np.linalg.lstsq(A, y)[0] # Don't care about residuals right now
fig = plt.figure()
ax = fig.add_subplot(111)
plt.plot(x, y, 'bo', label="Data")
plt.plot(x, m*x+c, 'r--',label="Least Squares")
plt.show()
नोट: यह उदाहरण https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.lstsq.html पर काफी बारीकी से दस्तावेजीकरण करता है।
Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow