python实现线性回归的示例代码
1线性回归
1.1简单线性回归
在简单线性回归中,通过调整a和b的参数值,来拟合从x到y的线性关系。下图为进行拟合所需要优化的目标,也即是mes(mean squared error),只不过省略了平均的部分(除以m)。
对于简单线性回归,只有两个参数a和b,通过对mse优化目标求极值(最小二乘法),即可求得最优a和b如下,所以在训练简单线性回归模型时,也只需要根据数据求解这两个参数值即可。
下面使用波士顿房价数据集中,索引为5的特征rm (average number of rooms per dwelling)来进行简单线性回归。其中使用的评价指标为:
输出结果:
mean squared error:26.74
root mean squared error:5.17
mean absolute error:3.85
r squared error:0.50
数据的可视化:
1.2 多元线性回归
多元线性回归中,单个x的样本拥有了多个特征,也就是上图中带下标的x。
其结构可以用向量乘法表示出来:
为了便于计算,一般会将x增加一个为1的特征,方便与截距bias计算。
而多元线性回归的优化目标与简单线性回归一致。
通过矩阵求导计算,可以得到方程解,但求解的时间复杂度很高。
下面使用正规方程解的形式,来对波士顿房价的所有特征做多元线性回归。
输出结果:
r squared error:0.79
root mean squared error:3.36
1.3 使用sklearn中的线性回归模型
到此这篇关于python实现线性回归的文章就介绍到这了,更多相关python线性回归内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
上一篇: MongoDB使用场景总结
下一篇: 数据分析入门软件(常用的数据分析工具)