本站原创文章,转载请说明来自《老饼讲解-机器学习》www.bbbdata.com
本文展示一个线性回归的使用实例,来进一步学习线性回归模型
本实例包括“自行求解线性回归”的代码实例及“调用sklearn包求解线性回归”的代码实例
线性回归实例-问题
现有数据以下:
现需要我们建立线性回归模型,用变量 x1,x2 预测y
✍️备注
以上数据的实际关系为:
我们建好线性模型后再回头看看模型的结果与这个是否一致
本节我们梳理用线性回归建模的整体思路
线性回归建模思路梳理
线性回归建模思路如下
确定模型
假设变量服从线性关系,得到模型
求取最佳的W
线性回归模型的建模过程如下图所示:
线性回归模型的实际建模操作步骤很简单
只要把X添加一列1,然后用求解公式求解W就可以了
再代回线性回归模型表达式,就能得到具体的模型
本节通过自写代码求解和调包求解两种方法的实例,
以此来展示如何对线性回归模型进行求解
实例方法一:自写代码求解线性回归模型
根据线性回归模型的求解公式,进行求解即可
python代码如下:
from sklearn import linear_model
import numpy as np
#输入数据
x = np.array([[0, 2], [1, 1], [2,3],[3,2],[4,5],[5,2]])
y = np.array([8,7,15,14,25,18])
# 给x添加一列1
xt = np.insert(x, x.shape[1], 1, axis=1)
#按公式求解w,其中inv的功能是求矩阵的逆,@是矩阵的乘法
w = np.linalg.inv(xt.T@xt)@xt.T@y
#输出W
print("模型参数W:"+str(w))
运行结果如下
模型参数W:[2. 3. 2.]
模型回代
得到了W,代入线性回归模型,
就得到我们最终的模型:
有新的样本过来时,我们就可以用上式进行预测
实例方法二:用sklearn包求解线性回归模型
我们也可以用python机器学习包的sklearn的线性模型方法进行求解
借助sklearn包求解的python代码如下
from sklearn import linear_model
import numpy as np
#输入数据
x = np.array([[0, 2], [1, 1], [2,3],[3,2],[4,5],[5,2]])
y = np.array([8,7,15,14,25,18])
#调用sklearn的线性模型包,训练数据
reg = linear_model.LinearRegression()
reg.fit(x,y)
#输出系数和阈值
print("模型参数:"+str(reg.coef_))
print("模型阈值:"+str(reg.intercept_))
运行结果如下
模型参数:[2. 3.]
模型阈值:1.9999999999999982
模型回代
代入模型,即有:
以上就是线性回归模型的实例讲解全部内容了~
End