使用 Matplotlib/Numpy 进行线性回归
numpymatplotlibserver side programmingprogramming更新于 2025/8/8 5:07:17
要绘制线性回归图,我们可以使用 sklearn 的线性回归类,然后绘制散点图。
步骤
使用 np.random.random((20, 1)) 获取 x 数据。返回半开区间 [20, 1) 内的随机浮点数。
使用 np.random.normal() 方法获取 y 数据。从正态(高斯)分布中抽取随机样本。
获取最小二乘线性回归模型。
拟合线性模型。
使用 linspace() 方法返回指定间隔内均匀分布的数字。
使用 predict() 方法,利用线性模型进行预测。
使用给定的 figsize 元组 (4, 3) 创建一个新图形或激活一个现有图形。
使用axes() 方法向当前图形添加一个轴并将其设为当前坐标区。
使用不同标记大小和/或颜色绘制 *y* 与 *x* 的散点图。
使用步骤 5 中获得的 x_new 和 y_new 绘制直线,并6.
使用 plt.xlabel() 方法设置 X 轴标签。
使用 plt.ylabel() 方法设置 Y 轴标签。
使用 ax.axis('tight') 调整轴属性。
要显示图形,请使用 plt.show() 方法。
示例
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
x = 30 * np.random.random((20, 1))
y = 0.5 * x + 1.0 + np.random.normal(size=x.shape)
model = LinearRegression()
model.fit(x, y)
x_new = np.linspace(0, 30, 100)
y_new = model.predict(x_new[:, np.newaxis])
plt.figure(figsize=(4, 3))
ax = plt.axes()
ax.scatter(x, y)
ax.plot(x_new, y_new)
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.axis('tight')
plt.show()
输出


