linearregression损失曲线绘制
时间: 2023-10-03 18:07:35 浏览: 58
下面是使用Python绘制线性回归(Linear Regression)的损失曲线:
```python
import numpy as np
import matplotlib.pyplot as plt
# 生成样本数据
np.random.seed(0)
X = np.random.rand(100, 1)
y = 3 + 4 * X + np.random.rand(100, 1)
# 线性回归模型
class LinearRegression:
def __init__(self):
self.w = None
def fit(self, X, y):
X_b = np.hstack([np.ones((len(X), 1)), X])
self.w = np.linalg.inv(X_b.T.dot(X_b)).dot(X_b.T).dot(y)
def predict(self, X):
X_b = np.hstack([np.ones((len(X), 1)), X])
return X_b.dot(self.w)
# 损失函数
def mse_loss(y_true, y_pred):
return np.mean((y_true - y_pred) ** 2)
# 损失曲线绘制
lr = LinearRegression()
losses = []
lr.fit(X, y)
for i in range(100):
y_pred = lr.predict(X)
loss = mse_loss(y, y_pred)
losses.append(loss)
lr.fit(X, y_pred)
plt.plot(losses)
plt.xlabel("Iteration")
plt.ylabel("MSE Loss")
plt.title("Linear Regression Loss Curve")
plt.show()
```
这段代码会生成一个线性回归的损失曲线,其中X和y是样本数据,LinearRegression是线性回归模型,mse_loss是损失函数,losses是损失曲线,plt.plot是绘制损失曲线的函数。
阅读全文