在上述代码中加入画图的功能
时间: 2023-09-02 21:13:13 浏览: 87
好的,下面是一个更新后的 Python 代码,增加了画图的功能:
```python
import numpy as np
from sklearn.linear_model import LinearRegression
from sklearn.metrics import mean_squared_error, r2_score
import matplotlib.pyplot as plt
# 创建一个随机数据集
np.random.seed(0)
x = np.random.rand(100, 1)
y = 2 * x + np.random.rand(100, 1)
# 创建线性回归模型
model = LinearRegression()
# 训练模型
model.fit(x, y)
# 预测新数据
x_new = np.array([[0.5], [0.6], [0.7]])
y_new = model.predict(x_new)
# 计算模型的误差和评估指标
y_pred = model.predict(x)
mse = mean_squared_error(y, y_pred)
r2 = r2_score(y, y_pred)
# 输出模型的参数和评估指标
print('斜率:', model.coef_)
print('截距:', model.intercept_)
print('均方误差:', mse)
print('R平方:', r2)
# 绘制训练数据和模型预测结果的散点图
plt.scatter(x, y)
plt.plot(x, y_pred, color='red')
plt.scatter(x_new, y_new, color='green')
plt.xlabel('x')
plt.ylabel('y')
plt.title('Linear Regression')
plt.show()
```
这个代码主要增加了使用 `matplotlib` 库来绘制训练数据和模型预测结果的散点图。具体来说,代码使用 `scatter` 函数绘制训练数据的散点图,使用 `plot` 函数绘制模型的预测结果的曲线,使用 `scatter` 函数绘制新数据的散点图。在绘图之前,代码还设置了 x 轴和 y 轴的标签、标题等参数,以便更好地展示图形。
需要注意的是,这个代码中仅绘制了训练数据、模型预测结果和新数据的散点图,实际应用中还需要根据具体情况进行调整和优化,比如可以添加网格线、图例等元素,以便更好地展示数据和模型的关系。
阅读全文