आपको पहले अपने numpy सरणी को दो अलग-अलग सरणी में एक्स और वाई मानों को अलग करने की आवश्यकता होगी।
x = [1, 2, 3, 9]
y = [1, 4, 1, 3]
curve_fit को एक ऐसा फ़ंक्शन भी चाहिए जो आपके इच्छित फिट प्रकार प्रदान करता हो। उदाहरण के लिए, एक रेखीय फिट की तरह
def func(x, a, b):
return a*x + b
scipy.optimize.curve_fit(func, x, y)
एक समारोह का प्रयोग करेंगे एक numpy सरणी दो सरणियों युक्त वापस आ जाएगी: पहला a
और b
के लिए मूल्यों में शामिल होंगे, जो आपके डेटा फिट है, और दूसरा सहप्रसरण हो जाएगा इष्टतम फिट पैरामीटर का।
यहां आपके द्वारा प्रदान किए गए डेटा के साथ एक रैखिक फिट के लिए एक उदाहरण दिया गया है।
import numpy as np
from scipy.optimize import curve_fit
x = np.array([1, 2, 3, 9])
y = np.array([1, 4, 1, 3])
def fit_func(x, a, b):
return a*x + b
params = curve_fit(fit_func, x, y)
[a, b] = params[0]
इस कोड को वापस आ जाएगी a = 0.135483870968
और b = 1.74193548387
यहाँ अपने अंक और रैखिक फिट ... जो स्पष्ट रूप से एक बुरा एक है के साथ एक साजिश है, लेकिन आप जो कुछ भी प्रकार प्राप्त करने के लिए फिटिंग समारोह को बदल सकते हैं फिट आप चाहते हैं।
आप किस तरह का वक्र फिट करना चाहते हैं? बहुपद? – jabaldonedo
हां, बहुपद – Bob
तो मेरे उत्तर पर नज़र डालें, numpy – jabaldonedo