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