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

波士顿房价预测问题简介

问题描述:波士顿房价数据集统计的是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学习资料请加入群、联系助理老师或关注微信公众号获取,我们会不定期更新!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,那我来为您介绍一下线性回归分析波士顿房价预测中的应用,以及如何使用Python实现。 首先,波士顿房价预测是一个经典的回归问题,我们可以使用线性回归模型来解决该问题。线性回归模型的基本思想是通过找到一最佳拟合直线来描述自变量和因变量之间的关系。在波士顿房价预测中,我们可以将房价看作因变量,其他特征(比如房屋面积、房龄、犯罪率等)作为自变量,建立一个线性回归模型来预测房价。 接下来,我们可以使用Python来实现线性回归模型。首先,我们需要准备数据集。可以使用scikit-learn库中的load_boston函数来加载波士顿房价数据集。代码如下: ```python from sklearn.datasets import load_boston boston = load_boston() X = boston.data y = boston.target ``` 然后,我们可以使用train_test_split函数将数据集分为训练集和测试集。代码如下: ```python from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) ``` 接着,我们可以使用线性回归模型来拟合数据集。可以使用scikit-learn库中的LinearRegression类来实现。代码如下: ```python from sklearn.linear_model import LinearRegression model = LinearRegression() model.fit(X_train, y_train) ``` 最后,我们可以使用训练好的模型来预测测试集中的房价,并计算预测准确率。代码如下: ```python y_pred = model.predict(X_test) from sklearn.metrics import r2_score score = r2_score(y_test, y_pred) print(score) ``` 以上就是使用Python实现波士顿房价预测的基本流程。当然,为了提高模型的准确率,我们还可以进行特征工程、数据归一化、模型优化等操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值