什麼是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。
沒有留言:
張貼留言