1. 程式人生 > >構建房屋預測回歸模型

構建房屋預測回歸模型

frame efficient 們的 eating 運行 examples 圖形 model per

技術分享圖片

上面我們可以看見房屋的各種屬性信息
也就是房屋的各個特征

為了更形象化的展示房屋的特征,我們使用圖形來直觀展現

使用,我們前面介紹的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萬

開始預測:
技術分享圖片

總結:很有可能單特征的效果會比多特征的效果好,也有可能多特征的比我們的但特征的效果好,主要取決於數據

構建房屋預測回歸模型