前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习系列一:使用线性回归预测波士顿房价

机器学习系列一:使用线性回归预测波士顿房价

作者头像
明月AI
发布2021-10-28 09:51:10
1.3K0
发布2021-10-28 09:51:10
举报
文章被收录于专栏:野生AI架构师

0. 数据集介绍


波士顿房价数据集是机器学习的常用数据集之一,其字段如下:

数据集不大,只有506条记录,13个特征,没有缺失值,MEDV就是需要我们预测的。

1. 查看数据集的基本信息


在开始建模之前,我们先分析数据集的基本情况,代码如下:

在Notebook中运行,直方图如下:

2. 相关性分析


在了解了数据的基本情况之后,我们需要了解字段的重要程度,当然这这个案例中,或许不太能体现其作用,但是对于哪些很多字段(例如上千个字段)的数据集时,那些不重要的字段就应该过滤掉。

我们的目标字段是target,与自身的相关性显然是1.0,这个可以忽略。除此之外,相关性最大的是LSTAT,虽然是负相关;其次是RM字段,约为0.70;相关性最小的是CHAS,0.18,当然实际项目中0.18的相关性也算是相当高的了。

我们可以使用散点图查看:

可以很看到其相关性。

3. 最简单的线性回归模型


为了理解线性回归模型,我们先建立一个最简单的线性模型:

这就是最简单的线性模型:y = h(x) = a*x + b,我们的样本点有许多(x, y),机器学习需要做的就是通过对样本点的学习,得出参数a和b的合理的值,使得h(x)能够拟合这些样本点,所谓模型就是上图中的直线。

如果只选择一个特征,那肯定是选择相关性最大的特征LSTAT,建模如下:

这就是最简单的线性回归模型,参数a和b对应的是coef_intercept_,误差采用均方误差MSE。

模型是训练出来了,不过这误差看似不小(没有比较,不好说大小),训练误差也超过34。

4. 增加特征进行训练


对于多个特征的线性预测函数如下:

这里需要注意的是x0,其对应的theta0其实是线性方程中的常数项,而在这里x0的值为常量1。

我们可以定义其损失函数为:

训练模型如下:

显然,特征增多之后(因为这个数据集字段不多,直接将所有字段加入训练),训练误差和测试误差都减少了很多。

未完待续......

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 野生AI架构师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档