线性回归模型可能是学习的第一个预测模型,它用于预测目标的连续值。一定很高兴完成了模型的构建。可能也学习了其背后的理论——经验风险最小化、均方误差、梯度下降、学习率等。这篇文章将以易于理解的步骤解释如何在Python的Jupyter笔记本中创建基本的线性模型可视化。
线性模型(线性回归)可能是第一个学习和创建的模型,用于预测目标的连续值。一定很高兴完成了模型的构建。可能也学习了其背后的理论——经验风险最小化、均方误差、梯度下降、学习率等。这篇文章将以易于理解的步骤解释如何在Python的Jupyter笔记本中创建基本的线性模型可视化。
首先,定义线性关系方程,即:
y = mx + c
其中,y代表目标变量,X代表特征变量,m代表斜率,c代表y轴截距。为了创建模型的方程,需要得到m和c的值,可以通过以下方程得到:
斜率m的计算公式为:
m = (Σ(x - x̄) * (y - ȳ)) / Σ(x - x̄)²
y轴截距c的计算公式为:
c = ȳ - m * x̄
这里,x̄和ȳ分别代表X和y的平均值。理解这些公式可能需要一些时间,可能需要反复阅读直到理解。如果理解了,恭喜,可以继续下一步。
现在,将这些公式用Python代码实现,使用numpy库来计算斜率和截距:
import numpy as np
# 假设X和y是numpy数组
X = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9])
y = np.array([2, 3, 11, 13, 28, 32, 50, 59, 85])
# 计算斜率m和截距c
m = (np.sum((X - np.mean(X)) * (y - np.mean(y))) / np.sum((X - np.mean(X))**2))
c = np.mean(y) - m * np.mean(X)
# 打印结果
print(f"斜率m: {m}, 截距c: {c}")
现在有了斜率m和截距c,可以将它们代入方程:
y = 9.95 - 1218.56x
from sklearn.linear_model import LinearRegression
# 创建线性回归模型实例
model = LinearRegression()
# 拟合模型
model.fit(X.reshape(-1, 1), y)
# 打印斜率和截距
print(f"斜率m: {model.coef_[0]}, 截距c: {model.intercept_}")