下面是基于线性方程使用 Scipy 中的 Curve_Fit 的示例。我对曲线拟合的一般理解是,它需要一个随机点图并创建一条曲线来显示一系列数据点的“最佳拟合”。我的问题是使用scipy curve_fit它返回:
“参数的最佳值,以使 f(xdata, *popt) - ydata 的平方误差之和最小化”。
这两个值在简单的英语中究竟是什么意思?谢谢!
import numpy as np
from scipy.optimize import curve_fit
# Creating a function to model and create data
def func(x, a, b):
return a * x + b
# Generating clean data
x = np.linspace(0, 10, 100)
y = func(x, 1, 2)
# Adding noise to the data
yn = y + 0.9 * np.random.normal(size=len(x))
# Executing curve_fit on noisy data
popt, pcov = curve_fit(func, x, yn)
# popt returns the best fit values for parameters of
# the given model (func).
print(popt)