zoukankan      html  css  js  c++  java
  • 构建房屋预测回归模型

    这里写图片描述

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

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

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

    开始预测:
    这里写图片描述

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

  • 相关阅读:
    oracle 游标例子
    oracle 认识
    Scut游戏服务器引擎之新手入门
    Scut游戏服务器引擎6.5.8.6发布
    Scut游戏服务器引擎之Unity3d接入
    Scut游戏服务器引擎6.1.5.6发布,直接可运行,支持热更新
    ScutSDK 0.9版本发布
    Scut游戏服务器引擎6.0.5.2发布
    Scut游戏服务器引擎6.0.5.1发布
    Scut游戏服务器引擎6.0.5.0发布-支持C#脚本
  • 原文地址:https://www.cnblogs.com/liuge36/p/9882961.html
Copyright © 2011-2022 走看看