python回归分析波士顿房价_31_手把手教你学Python之波士顿房价预测

本文介绍了如何使用scikit-learn库进行波士顿房价预测,通过线性回归模型探讨了13个特征与房价的关系,并展示了数据标准化、特征选择和异常值处理的重要性。通过可视化和代码实例,深入理解回归分析在房价预测中的应用。
摘要由CSDN通过智能技术生成

波士顿房价预测问题简介

问题描述:波士顿房价数据集统计的是20世纪70年代中期波士顿郊区房价的中位数,统计了城镇人均犯罪率、不动产税等共计13个指标,统计出房价,试图能找到那些指标与房价的关系。数据集中一共有506个样本,每个样本包含13个特征信息和实际房价,波士顿房价预测问题目标是给定某地区的特征信息,预测该地区房价,是典型的回归问题(房价是一个连续值)。波士顿房价数据集中主要的指标名称及其含义如下。

机器学习库scikit-learn中自带了波士顿房价数据集,可直接加载。房价预测可采用线性回归算法。

线性回归算法

线性回归是利用数理统计中回归分析,来确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,通过属性的线性组合进行预测的线性模型,其目的是找到一条直线或者一个平面或者更高维的超平面,使得预测值与真实值之间的误差最小化。

线性回归分析中,如果只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。线性回归算法的公式如下,xi表示样本,可以是多维的,w为系统矩阵,b为偏置。目标是学习w和b两个参数,使得计算结果和真实结果之间的误差最小。

直接调用scikit-learn中的相关函数,实现波士顿房价简单预测的代码如下,主要步骤包括:加载数据

划分训练集和测试集

创建线性回归模型

拟合训练数据

得到预测结果

计算相应的评测指标

这里主要是给大家演示了下机器学习库中相关函数的调用,并没有对数据进行分析,接下来通过数据可视化技术来分析单个指标与房价之间的关系。关键代码如下:

各个指标与房价之间的关系可视化效果如下:

通过可视化图表分析,可以看到不同特征的取值范围有较大差异,有些取值范围从0到1,有些从1到100,还有0到400等等,为了消除不同量纲的影响,可对数据进行标准化处理。一般采用将数据减去数据组的平均数再除以标准差。z = (x - u) / s (u表示均值,s表示标准差)

此外,通过图表效果可知,部分指标与房价之间存在明显的线性关系(例如RM、LSTAT等),而有些指标与房价之间的关系则不那么明显(例如CHAS、B等)。可调用机器学习库中相关方法获取最相关的特征,关键代码如下:(首先对数据进行标准化,然后获取最相关的3个特征)

选择最相关的三个特征,结果为: RM、LSTAT、PTRATIO

最后使用最相关的特征数据进行房价的预测,关键代码如下:

将预测结果和真实结果画在同一个图上,如下图所示,可以清楚的看到它们之间的关系。

思考:通过预测值和真实值对比,可知有一些异常点,如何去除这些异常点?例如删除房价为50的样本。

更多Python学习资料请加入群、联系助理老师或关注微信公众号获取,我们会不定期更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值