Let’s Find a Leak
最近老肥在做廈門賽的題目,突然間有多名選手得分暴漲,我個人認(rèn)為這其中要么是找到了極佳的上分點,要么就是挖掘到了賽題數(shù)據(jù)當(dāng)中的leak, 于是我也開始挖掘本題可能存在的泄露。
Leak主要是和數(shù)據(jù)標(biāo)簽存在某種隱藏聯(lián)系,于是我先找到主表的標(biāo)簽y_train數(shù)據(jù)表,一下就發(fā)現(xiàn)了很有意思的分布,正標(biāo)簽全部分布在負(fù)標(biāo)簽之前。

這種泄露似乎有些低級,但當(dāng)我們把標(biāo)簽merge到數(shù)據(jù)主表x_train之后發(fā)現(xiàn)不再存在這種現(xiàn)象,正標(biāo)簽不再時完全分布在負(fù)標(biāo)簽之后。
進(jìn)一步對x_train數(shù)據(jù)進(jìn)行觀察分析,得到新一步的結(jié)論,每一個core_cust_id都存在同樣的現(xiàn)象,而非整體數(shù)據(jù)的現(xiàn)象--即每一個core_cust_id中,正標(biāo)簽完全分布在負(fù)標(biāo)簽之后。

上圖cum列為以core_cust_id為鍵的計數(shù)累計值,每一個core_cust_id只有在其第一行數(shù)據(jù)標(biāo)簽為1時后面的標(biāo)簽才有可能為1,只有在其前二行數(shù)據(jù)標(biāo)簽為1時,后面的標(biāo)簽才有可能為1,以此類推。可以看到數(shù)據(jù)所在的位置與標(biāo)簽存在極強的關(guān)聯(lián)性,直接把groupby之后的index當(dāng)作特征可以獲得極大的收益,并且在測試集存在同樣的現(xiàn)象。
其實,很多比賽存在著leak現(xiàn)象,姬哀老師在文章《盤點數(shù)據(jù)挖掘競賽中的泄露》[1]中對數(shù)據(jù)挖掘競賽中出現(xiàn)的泄露進(jìn)行總結(jié),大家也可以移步閱讀。
[1] https://zhuanlan.zhihu.com/p/283730120
——END——
