目录

机器学习-线性回归原理Python代码实现

机器学习—线性回归原理&&Python代码实现

1.一元线性回归

导入数据,这个里面我们使用的是波士顿数据集合,一共是13个数据特征,这个文章里面我们会分别介绍这个一元和多元的;

一元:选择一个数据特征分析该特征对于房价的影响;

多元:选择多个特征进行分析,这些特征对于房价的影响程度;

首先做的就是下载这个数据集,desc其实就是我们的英文单词description缩写,也就是打印的这个13个特征及其相关的描述,这个是很经典的数据集,不清楚的可以去网上查阅一下,或者是看我的这个文章里面的第二点:

https://i-blog.csdnimg.cn/img_convert/fc64e6adc8de153dd5c11e5afff74d13.png

绘制散点图,这个scatter就是绘制散点图的函数方法,y<50目的是为了进行筛选,因为这个y=50位置有很多店符合条件,但是这个参考机制不大,所以我们把这些点过滤掉;

https://i-blog.csdnimg.cn/img_convert/0be2a9a17ee311fd700d3aa7b5b705e9.png

划分测试集和训练集:并且绘制这个训练集的可视化效果

https://i-blog.csdnimg.cn/img_convert/246d1bea8d4a3bc92113d089d0c56100.png

下面的这个就是我们的一元线性回归方程,首先定义函数,函数其实就是我们使用最小二乘法求解方程的那个公式;

调用函数,训练模型,画出来这个直线方程查看具体的效果;

https://i-blog.csdnimg.cn/img_convert/0ae6c787b14b6c1f6966f4c1a4dddae4.png

我们可以在查看一下这个测试集的效果:

https://i-blog.csdnimg.cn/img_convert/bf23d04616c6d86b8e7001086cf63668.png

下面的这个是直接调用包,使用训练集进行训练,测试集进行预测即可:绘制出来这个散点图查看方程的拟合效果;

https://i-blog.csdnimg.cn/img_convert/b7c9bbe3b1739d111a82566dcb5a7d54.png

2.对于波士顿房价的说明

其实这个数据集很经典,这些特征就是对于我们的房价的影响,不清楚的话可以看下面的这个了解一下,其实我觉得知道这些因素就够了,无需进行面面俱到,只需要知道这13个都是影响房价的特征因素即可,具体问题再具体分析

  • CRIM:每个城镇的人均犯罪率
  • ZN:规划为占地面积超过 25000 平方英尺地块的住宅用地比例
  • INDUS:每个城镇非零售商业用地英亩数的比例
  • CHAS:查尔斯河虚拟变量(如果区域与河流相邻则等于 1;否则为 0)
  • NOX:一氧化氮浓度(每千万份中的份数)
  • RM:每套住宅的平均房间数
  • AGE:1940 年以前建造的自有住房单元的比例
  • DIS:到波士顿五个就业中心的加权距离
  • RAD:放射状高速公路可达性指数
  • TAX:每 10000 美元房产的全额价值财产税率
  • PTRATIO:每个城镇的师生比
  • B:1000×(Bk - 0.63)²,其中 Bk 是每个城镇的黑人比例
  • LSTAT:人口中低社会地位人群的百分比
  • MEDV:自有住房的中位数价值(单位:千美元)

3.多元线性回归

因为这个多元的线性回归涉及到复杂运算,因此我们不在进行这个手动实现。直接调用我们的这个sklearn里面的包进行使用即可;

还是train集合进行训练,但是这个是多个特征因素的影响,所以这个里面我们需要计算得分,而不是绘制散点图,score计算的得分接近于1说明这个效果越好,这个就是sklearn对于多元线性回归(多特征因素对于房价影响)的实现效果;

https://i-blog.csdnimg.cn/img_convert/1eb83ab6544034d984679f5ecfdbdb6c.png