使用 Matplotlib/Numpy 线性回归
为了获得线性回归图,我们可以使用 sklearn 的线性回归类,并且可以绘制散点图。
步骤
使用 np.random.random((20, 1)) 获取 x 数据。在半开区间[20, 1)内返回随机浮点数。
使用 np.random.normal() 方法获取 y 数据。从正态(高斯)分布中抽取随机样本。
获取普通最小二乘法线性回归,即 model。
拟合线性模型。
使用 linspace() 方法,在指定区间内返回均匀间隔的数字。
使用预测() 方法,使用线性模型预测。
创建一个新图形,或激活一个现有的图形,使用给定的 figsize 元组 (4, 3)。
使用 axes() 方法,将一个轴添加到当前图形并将其设为当前轴。
使用不同标记大小和/或颜色绘制 *y* 与 *x* 的散点图。
使用从第 5 步和第 6 步获得的 x_new 和 y_new 绘制直线。
使用 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()
输出
广告