构建房屋预测回归模型

Posted liuge36

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构建房屋预测回归模型相关的知识,希望对你有一定的参考价值。

技术分享图片

上面我们可以看见房屋的各种属性信息
也就是房屋的各个特征

为了更形象化的展示房屋的特征,我们使用图形来直观展现

使用,我们前面介绍的Graphlab Canvas来展现

重定向到当前页面展现
技术分享图片
技术分享图片
技术分享图片

接下来,我们就来,构建回归模型

被用来去拟合模型的数据叫做训练集

那些作为真实预测的替代叫做测试集

步骤:

  1. 分离出训练集合测试集

技术分享图片

说明,这里直接调用SFrame的random_split方法就好,
括号内的第一个参数,是随机抽成的比例,第二个参数是是否保存这次随机分离的两部分的数据的状态,,为0,表示,下次使用还是第一次分离的两拨数据

  1. 构建回归模型

我们使用graphlab的linear函数加上训练集+目标y+特征值x这些个参数
来构建回归模型
技术分享图片


PROGRESS: Creating a validation set from 5 percent of training data. This may take a while.
          You can set ``validation_set=None`` to disable validation tracking.

Linear regression:
--------------------------------------------------------
Number of examples          : 16480
Number of features          : 1
Number of unpacked features : 1
Number of coefficients    : 2
Starting Newton Method
--------------------------------------------------------
+-----------+----------+--------------+--------------------+----------------------+---------------+-----------------+
| Iteration | Passes   | Elapsed Time | Training-max_error | Validation-max_error | Training-rmse | Validation-rmse |
+-----------+----------+--------------+--------------------+----------------------+---------------+-----------------+
| 1         | 2        | 1.060747     | 4337721.604860     | 1987870.095446       | 264377.961084 | 235343.331161   |
+-----------+----------+--------------+--------------------+----------------------+---------------+-----------------+
SUCCESS: Optimal solution found.
  1. 评估上面生成的线性回归方程

查看测试数据集的均值:

技术分享图片

我们使用上面生成的回归模型进行测试;

技术分享图片

可以看见,误差还是很大的

  1. 使用图形化查看我们的预测是什么样子(直观展现)

使用第三方的画图库matplotlib:画图工具

技术分享图片

%matplotlib inline表示图形画在当前页面,也相当于重定向

开始画图:
主要是:定义好X和Y轴,使用点号表示这个(x,y)
原始闪点图+预测图
技术分享图片

定义了两个函数,第一个XY表示原始测试集的闪点图,我们用点表示;
然而,我们的第二个XY表示我们的回归方程预测出来的值,用短横线表示

现在,我们想要知道,我们构造出来的回归方程的两个参数:
截距和斜率
技术分享图片

5.探索数据中的其他特征

自定义特征值:

技术分享图片

开始构建

my_features_model=graphlab.linear_regression.create(train_data,target=‘price‘,features=my_features)

技术分享图片

开始对比但特征模型与多特征模型

技术分享图片

可以看出,多个特征值得效果比只是用单个房屋大小特征的效果要好

运行学到的模型进行房屋售价的预测

房屋实际售价(我们从原始数据集中随机挑选了一个房屋)
技术分享图片

这间房屋的实际售价为62万

下面开始预测:

技术分享图片

分析:
不一定涵盖特征多的模型就比少特征的预测更加准确

同样,我们再次预测一个
技术分享图片

原始售价为220万

开始预测:
技术分享图片

总结:很有可能单特征的效果会比多特征的效果好,也有可能多特征的比我们的但特征的效果好,主要取决于数据


















以上是关于构建房屋预测回归模型的主要内容,如果未能解决你的问题,请参考以下文章

贝叶斯线性回归和多元线性回归构建工资预测模型|附代码数据

单变量的线性回归问题

Python基于statsmodels包构建多元线性回归模型:模型构建模型解析模型推理预测

R线性回归模型构建:残差值回归值预测域置信区间

手把手教你用线性回归预测二手房房价

R语言评估回归模型预测因素(变量特征)的相对重要性(Relative importance)将回归模型的预测变量标准化(scale)之后构建模型获得标准化回归系数来评估预测变量的相对重要性