sir模型拟合并画图
时间: 2023-07-24 20:17:39 浏览: 63
好的,以下是一个简单的例子,使用Python的matplotlib库来画出模型的拟合曲线:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成一些随机数据作为示例
x = np.linspace(-5, 5, num=50)
y = 2*x + 3 + np.random.normal(0, 1, size=50)
# 定义模型和损失函数
def linear_model(x, w, b):
return w*x + b
def loss_function(y_pred, y_true):
return np.mean(np.square(y_pred - y_true))
# 初始化模型参数
w = np.random.randn()
b = np.random.randn()
# 训练模型
learning_rate = 0.01
num_epochs = 1000
for epoch in range(num_epochs):
y_pred = linear_model(x, w, b)
loss = loss_function(y_pred, y)
dw, db = np.mean((y_pred - y)*x), np.mean(y_pred - y)
w -= learning_rate*dw
b -= learning_rate*db
# 画出拟合曲线
plt.scatter(x, y)
plt.plot(x, linear_model(x, w, b), color='r')
plt.show()
```
在这个例子中,我们首先生成了一些带有噪声的随机数据,并定义了一个简单的线性模型和均方误差损失函数。然后我们初始化模型参数,并使用梯度下降算法训练模型。最后,我们使用matplotlib库画出了拟合曲线。
注意,这个例子只是一个简单的示例,实际中可能需要更复杂的模型和更多的训练技巧来得到更好的拟合效果。
阅读全文