code

2017年9月29日 星期五

Applied Machine Learning in Python 18 - Data Leakage

什麼是data leakage?

就是training時洩露了prediction相關的資訊,例如誤把class label當成feature。
另一種可能就是test data被拿來當training data。
有更多其他可能性。

嚴重後果

leakage會得出suboptimal prediction。


可能發生leakage的情況

1. training data含有加工過的未來資訊,例如某個網站的visitor log,能得出某個visitor平均停留時間等,但這是一個session結束過後的統計,不是estimator在session過程中可以得到的runtime資訊。

把這個平均停留時間(session time)換成一個session到目前為止看過的網頁的話,就是一個彌補leakage的方法。

2. 如果要預測某個人是否即將要做某事,如果把那件事的屬性當成feature來train的話,也相當於把prediction拿來train。

第二類可以能延伸出相當多變種,所以data leakage是危險難以發現的。

data的來源也是一個可能造成leakage的問題,如果不清楚知道每個變數的意義,可能會誤用造成leakage。



沒有留言:

張貼留言