1 of 26

HOUSE PRICES

資工三 蔡惟純 / 資電三 蔡博雅 / 電機四 陳奐宇

2 of 26

OUTLINE

  • Introduction
  • Model
    • Data Preprocessing
    • Model Constructing
    • Evaluation & Submission
  • Discussion
  • Conclusion

3 of 26

Introduction

  • 題目:House Price Predicting
  • 目標:Kaggle競賽� 以銅牌為目標
  • 競賽資料:

Training Data

Testing Data

Data 數目

1460

1459

Feature 數目

80 (提供SalesPrice)

79 (無SalesPrice)

競賽標準

  • 評分方式:

以輸出的.csv結果評分

4 of 26

Missing Values

  • 資料預處理第一步:填補各特徵值中缺失的資料。

Extreme Missing Data

Grouping Data

Sporadic Data

5 of 26

Missing Values (I) Extreme Missing Data

  • 將大量缺失的特徵值資料補上None

Before直接刪除該項特徵

After考慮特殊房型保留特徵

6 of 26

Missing Values (II) Grouping Data

  • 將特殊群組Bsmt, Garage分開提出來處理

Discrete直接刪除該項特徵

Continuous考慮特殊房型保留特徵

7 of 26

Missing Values (III) Sporadic Data

  • 將剩下的特徵填入該特徵的眾數。

8 of 26

Ordinal Variables

  • 資料預處理第二步:將資料轉為數值。

Categories

LotShape

LotConfig

ExterQual

ExterCond

More…

None: 0

Po:1

Fa: 2

TA: 3�Gd: 4

Ex: 5

9 of 26

Nominal Variables

  • 資料預處理第三步:以Target Encoding處理

10 of 26

Nominal Variables

  • 資料預處理第三步:排除資料極值,取平均。

11 of 26

Nominal Variables

  • 資料預處理第三步:排除資料極值,取平均。

用四分位距設定邊界

取該項特徵平均值

12 of 26

Normalization

  • 資料預處理第四步:將資料標準化。

Before 以Z-score做標準化

After 換以Min-max scaling計算

13 of 26

Analyzing Sale Price

  • 利用直方圖及QQ圖(Quantile-Quantile Plot)以檢視房價是否符合常態分佈:

LOG

14 of 26

Outliers in each Feature

  • 由於離群值會影響到回歸曲線的走向,我們將所有feature對房價進行作圖(x軸feature、y軸房價)以檢視離群值並將其刪除。

15 of 26

Outliers in each Feature

  • 以”LotFrontage”為例:

16 of 26

Analyzing Feature

  • 利用直方圖及QQ圖(Quantile-Quantile Plot)檢視各Feature是否符合常態分佈

17 of 26

Analyzing Feature

  • 以” GrLivArea”為例:

LOG

18 of 26

Analyzing Feature

  • 以”GarageYrBlt”為例:

Power

19 of 26

Feature Selection

  • 將所有Feature對Sale Price做出相關性的matrix,並繪製成heat map:

20 of 26

Feature Selection

  • 我們決定只留下相關性的絕對值大於0的Feature:

21 of 26

Regression

  • 導入多種Regression Model:
    • XGBRegressor
    • RandomForestRegressor
    • ExtratreesRegressor
    • GradientBoostingRegressor

以GradientBoostingRegressor為例

22 of 26

Tuning Hyper-Parameters

  • 利用GridSearchCV做交叉驗證,找出最佳的參數組合
    • 使用RepeatedKFold當作交叉驗證的方法

重複n次

切割成K等份

23 of 26

Evaluation

  • 利用RMSE: Root-Mean-Square-Error
  • 對所有Model進行Evaluation
    • 0.14894459504826796

RandomForestRegressor

    • 0.14894459504826796

ExtratreesRegressor

    • 0.13061381536651775

GradientBoostingRegressor

    • 0.1459659466634643

XGBRegressor

24 of 26

Submission

  • 輸出成符合Kaggle Competition的format

25 of 26

Submission

  • 上傳至Kaggle,進行評分
  • 不斷重複修改code,優化至最佳結果,嘗試取得更好的Score

26 of 26

Thank you

Check more on our paper submission