使用 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()输出

广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP