码迷,mamicode.com
首页 > 其他好文 > 详细

构建房屋预测回归模型

时间:2018-10-31 15:44:32      阅读:107      评论:0      收藏:0      [点我收藏+]

标签:图片   ext   ali   block   保存   mode   误差   调用   example   

技术分享图片

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

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

使用,我们前面介绍的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万

开始预测:
技术分享图片

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

构建房屋预测回归模型

标签:图片   ext   ali   block   保存   mode   误差   调用   example   

原文地址:https://www.cnblogs.com/liuge36/p/9882961.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!