欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python实现线性回归的示例代码

程序员文章站 2024-03-26 14:25:35
1线性回归1.1简单线性回归在简单线性回归中,通过调整a和b的参数值,来拟合从x到y的线性关系。下图为进行拟合所需要优化的目标,也即是mes(mean squared error),只不过省略了平均的...

1线性回归

1.1简单线性回归

python实现线性回归的示例代码

在简单线性回归中,通过调整a和b的参数值,来拟合从x到y的线性关系。下图为进行拟合所需要优化的目标,也即是mes(mean squared error),只不过省略了平均的部分(除以m)。

python实现线性回归的示例代码

对于简单线性回归,只有两个参数a和b,通过对mse优化目标求极值(最小二乘法),即可求得最优a和b如下,所以在训练简单线性回归模型时,也只需要根据数据求解这两个参数值即可。

python实现线性回归的示例代码

下面使用波士顿房价数据集中,索引为5的特征rm (average number of rooms per dwelling)来进行简单线性回归。其中使用的评价指标为:

python实现线性回归的示例代码

python实现线性回归的示例代码

python实现线性回归的示例代码

python实现线性回归的示例代码

python实现线性回归的示例代码

输出结果:

mean squared error:26.74
root mean squared error:5.17
mean absolute error:3.85
r squared error:0.50

数据的可视化:

python实现线性回归的示例代码

1.2 多元线性回归

python实现线性回归的示例代码

多元线性回归中,单个x的样本拥有了多个特征,也就是上图中带下标的x。
其结构可以用向量乘法表示出来:
为了便于计算,一般会将x增加一个为1的特征,方便与截距bias计算。

python实现线性回归的示例代码

python实现线性回归的示例代码

而多元线性回归的优化目标与简单线性回归一致。

python实现线性回归的示例代码

通过矩阵求导计算,可以得到方程解,但求解的时间复杂度很高。

python实现线性回归的示例代码

下面使用正规方程解的形式,来对波士顿房价的所有特征做多元线性回归。

输出结果:

r squared error:0.79
root mean squared error:3.36

1.3 使用sklearn中的线性回归模型

到此这篇关于python实现线性回归的文章就介绍到这了,更多相关python线性回归内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

相关标签: python 线性回归