在Python中,numpy
库的polyfit
函数返回的是拟合多项式的系数,而不是直接提供拟合曲线的误差。然而,你可以使用其他方法来计算拟合曲线的误差,比如均方误差(Mean Squared Error,MSE)或其他适当的评估指标。
以下是一个简单的例子,演示如何使用numpy.polyfit
拟合曲线并计算均方误差:
import numpy as np
import matplotlib.pyplot as plt
# 生成一些样本数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([2.1, 2.9, 4.2, 5.1, 5.8])
# 拟合多项式
degree = 2 # 多项式的次数
coefficients = np.polyfit(x, y, degree)
# 构建多项式模型
model = np.poly1d(coefficients)
# 计算拟合曲线的预测值
y_pred = model(x)
# 计算均方误差(MSE)
mse = np.mean((y - y_pred) ** 2)
# 打印拟合曲线的系数和均方误差
print(f'拟合曲线的系数:{coefficients}')
print(f'均方误差(MSE):{mse}')
# 绘制原始数据和拟合曲线
plt.scatter(x, y, label='原始数据')
plt.plot(x, y_pred, label=f'拟合曲线 (MSE={mse:.2f})', color='red')
plt.legend()
plt.show()
在上述示例中,np.polyfit
用于拟合多项式,并通过np.poly1d
创建一个多项式模型。然后,计算拟合曲线的预测值,并使用这些值计算均方误差。最后,打印拟合曲线的系数和均方误差,并绘制原始数据和拟合曲线。
请注意,这只是一个简单的例子,实际应用中你可能需要更复杂的评估指标或者更多的数据预处理。