对线性回归模型的训练集mse分数和测试集的mse分数进行可视化
时间: 2023-07-20 08:28:11 浏览: 50
好的,可以使用Python中的matplotlib库来完成这个任务。下面是一份示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error
# 生成一些随机数据
np.random.seed(42)
X_train = np.random.rand(100, 1)
y_train = 4 + 3 * X_train + np.random.randn(100, 1)
X_test = np.random.rand(20, 1)
y_test = 4 + 3 * X_test + np.random.randn(20, 1)
# 初始化和训练一个线性回归模型
lin_reg = LinearRegression()
lin_reg.fit(X_train, y_train)
# 计算训练集和测试集的预测值
y_train_pred = lin_reg.predict(X_train)
y_test_pred = lin_reg.predict(X_test)
# 计算训练集和测试集的mse分数
train_mse = mean_squared_error(y_train, y_train_pred)
test_mse = mean_squared_error(y_test, y_test_pred)
# 可视化mse分数
plt.scatter(X_train, y_train, color='blue')
plt.scatter(X_test, y_test, color='green')
plt.plot(X_train, y_train_pred, color='red')
plt.plot(X_test, y_test_pred, color='orange')
plt.legend(('Train', 'Test'))
plt.title('Linear Regression (MSE Train: {:.2f}, MSE Test: {:.2f})'.format(train_mse, test_mse))
plt.show()
```
这段代码会生成一个散点图,并在图中绘制训练集和测试集的预测值。图例中的“Train”表示训练集,“Test”表示测试集。图的标题中包含了训练集和测试集的mse分数。你可以根据自己的数据和需要,调整代码中的参数和绘图样式。