再论数据科学竞赛中的Data Leakage
越來越多的數據愛好者把注意力放在了數據競賽上,像Kaggle數據競賽。這類數據競賽中,有時會遇到Data Leakage。而大部分人對Data Leakage的概念理解都是錯誤的。這次,我們來梳理一下Data Leakage,希望能讓大家對數據中的因果關系更加重視。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? --陳曉理?
數據科學競賽中有時會出現這樣的奇特景觀:某只隊伍,靠著對極個別feature的充分利用,立即將對手超越,成功霸占冠軍位置,而且與第二名的差距遠超第二名與第十名的差距。然而,這些feature卻不是在因果關系上順利解釋預測值的‘因’,反而是預測值的‘果’。
1. Data Leakage定義
存在和利用這種倒‘因’為‘果’的feature的現象,叫數據競賽中的Data Leakage。
這里的Data Leakage 跟其他場合說的數據安全數據泄漏完全不一樣。從字面上理解,我們說的Data Leakage不是數據泄漏,而是因果關系的紕漏,是由于數據準備過程中出現的失誤,使模型沿著有紕漏的,甚至是顛倒的因果關系進行預測,但得到極好的預測結果。
2. Data Leakage案例
Data Leakage 在數據科學競賽中時常發生。
INFORMS 2010 Data Mining Challenge (預測患者是否有肺炎),Kaggle里面的the IJCNN 2011 Social Network Challenge (預測人們在社交網絡中的關系類型),已經男性前列腺癌數據中,都存在不同程度的Data Leakage。
案例1
在男性前列腺癌數據中,有個feature叫PROSSUG,代表著這個患者是否接受過前列腺的手術,這個feature很難說是病人患前列腺癌的‘原因’(患心臟病的原因是接受過心臟手術?),而更像是一個標記,當然與病人是否患有前列腺癌極度相關。依靠著這樣的feature訓練出來的模型,肯定能夠得到很好的預測結果,但對實際了解男性前列腺癌的成因,沒有一點幫助。
Data Leakage不僅在競賽中會發生,在實際工作中也會出現。
案例2
Chris老師就舉過一個非常經典的例子。在處理電信用戶流失的時候,用原有的數據集輕輕松松就可以把AUC達到0.99以上。這讓人非常警惕。于是Chris老師仔細查看了一下模型和數據,原來數據中有一個權重極高的feature是“3個月內的繳費紀錄”。很多流失用戶的賬戶內,這個feature的值是0。再進一步,他跟會計核實了一下,在會計記賬中,這個feature 代表的是用戶已經流失后的三個月的繳費紀錄,那肯定就是0了。這是典型的因果關系顛倒。
3. Data Leakage的原因
以此我們可以看出,Data Leakage 基本都是在準備數據的時候,或者數據采樣的時候出了問題,誤將與結果直接相關的feature納入了數據集。這樣的紕漏,比較難以發現。
這真是讓人歡喜讓人憂。
競賽選手們肯定希望自己能夠找到Data Leakage, 這樣排名就可以大幅度提升。但對于競賽主辦方,或者實際工作中的數據科學家,則要千方百計識別Data Leakage,要不然比賽會被引入歧途,還會影響日常工作質量。
4. 必須重視因果性
我們再把討論往前推一步:大數據,是要相關性,還是因果性?
《大數據時代》是本大毒草 —— Professor M from Computer Science in University of Michigan
數據應用學院專門組織過討論,集中批判一本暢銷書《大數據時代》。這本書的主要觀點就是,在大數據時代,要放寬對因果性的要求,充分利用相關性去挖掘數據的價值。我們上面的案例分析再一次證明,這樣的觀點是危險的。
而且,在數據科學家的Skillset中,為什么除了計算機技能,統計分析外,還要加一個“行業知識”?這其實是要求數據科學家能夠利用行業知識來判斷數據模型中的因果關系是否有價值,還是落腳到因果關系上。
總結
以上是生活随笔為你收集整理的再论数据科学竞赛中的Data Leakage的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 口袋妖怪复刻麻麻鳗鱼王性格及配招推荐 麻
- 下一篇: 《见字如面》赏析-待续