iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 13
0
AI & Data

跟top kaggler學習如何贏得資料分析競賽 系列 第 13

[Day 13] Validation / 驗證 - Part II

  • 分享至 

  • xImage
  •  

Validation strategy

. Holdout
. K-fold
. LOO / Leave-one-out

Holdout : 比較像是切割資料後分作 A.訓練, B.驗證, A與B不重複

ngroup=1

sklearn.model_selection.shuffleSplit

https://ithelp.ithome.com.tw/upload/images/20190914/20108719SI5u8kMOtp.png
截圖自coursera

K-fold : K折交叉驗證, 資料切割成K項, 每次取一項目當子樣本驗證, 剩餘資料採 K-1 當作訓練, 直到 K 項都完成子樣本驗證

ngroups=k

sklearn.model_selection.kfold

https://ithelp.ithome.com.tw/upload/images/20190914/20108719bimbmpAG3D.png
截圖自coursera

LOO / Leave-one-out : 留一交叉驗證, 每次留一個樣本, 其餘都當作訓練, 直到N個樣本跑完

ngroups=len(train)

sklearn.model_selection.LeaveOneOut

https://ithelp.ithome.com.tw/upload/images/20190914/201087191kikyt9n83.png
截圖自coursera


Data splitting strategy

採用交錯或時間序列的判斷是找出競賽出題者的方式, 直接複製出題者是用哪一種, 這樣對 model 效果最好

Previous and next target values Time-based trend
https://ithelp.ithome.com.tw/upload/images/20190914/20108719frR4xhoWZR.png https://ithelp.ithome.com.tw/upload/images/20190914/20108719jltOaLXMt4.png

下表是 4 種切割 train, validation 方法, 建議找出並模仿題目的資料切割方法

Random, rowwise Timewise By id combinations
https://ithelp.ithome.com.tw/upload/images/20190914/20108719xZbSIBnVNd.png https://ithelp.ithome.com.tw/upload/images/20190914/201087192OYHqLQ8zi.png

提醒

問題 :

  • 時間序列的競賽, 要留意日期的特性會導致 overfitting 或 underfitting, 因為耶誕節前一個月跟當月的日期屬性差異大, 所以要調整資料切割的方法
  • 依照資料分布, 調整不一致/過於多元的資料

對策 : 採 K-fold / K折(通常折5個)資料集, 取每個資料集為平均分數的結果


後言 : 已經接近一半, 所以今天也開始找 Kaggle 比賽, 要開始一步步照著課程實作.(cross my fingers)


上一篇
[Day 12] Validation / 驗證 - Part I
下一篇
[Day 14] 以 Springleaf competition 實作 EDA
系列文
跟top kaggler學習如何贏得資料分析競賽 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言