機(jī)器學(xué)習(xí)中的標(biāo)簽泄漏介紹及其如何影響模型性能
您是否對優(yōu)秀或接近優(yōu)秀的模型表現(xiàn)不知所措? 你的快樂被出賣了嗎?
簡而言之,當(dāng)您要預(yù)測的信息直接或間接出現(xiàn)在訓(xùn)練數(shù)據(jù)集中時,就會發(fā)生標(biāo)簽泄漏或目標(biāo)泄漏。 它會導(dǎo)致模型夸大其泛化誤差,并極大地提高了模型的性能,但模型對于任何實際應(yīng)用都毫無用處。
數(shù)據(jù)泄漏如何發(fā)生
最簡單的示例是使用標(biāo)簽本身訓(xùn)練模型。 在實踐中,在數(shù)據(jù)收集和準(zhǔn)備過程中無意中引入了目標(biāo)變量的間接表示。 觸發(fā)結(jié)果的特征和目標(biāo)變量的直接結(jié)果是在數(shù)據(jù)挖掘過程中收集的,因此在進(jìn)行探索性數(shù)據(jù)分析時應(yīng)手動識別它們。
數(shù)據(jù)泄漏的主要指標(biāo)是"太好了,不能成為現(xiàn)實"模型。 由于該模型不是優(yōu)秀模型,因此在預(yù)測期間最有可能表現(xiàn)不佳。
數(shù)據(jù)泄漏不僅可以通過訓(xùn)練特征作為標(biāo)簽的間接表示來實現(xiàn)。 也可能是因為來自驗證或測試數(shù)據(jù)的某些信息保留在訓(xùn)練數(shù)據(jù)中,或者使用了來自將來的歷史記錄。
標(biāo)簽泄漏問題的示例
通過此人關(guān)聯(lián)銀行賬號的特征來預(yù)測是否會開設(shè)銀行帳戶
在客戶流失預(yù)測問題中,事實證明,無論客戶是否流失,稱為"采訪者"的功能都是最好的指示。 模型表現(xiàn)不佳的原因是此"采訪者"是僅在客戶確認(rèn)他們打算流失之后才分配調(diào)查人員。
如何應(yīng)對標(biāo)簽泄漏
1、刪除它們或添加噪音以引入可以平滑的隨機(jī)性
2、使用交叉驗證或確保使用驗證集在看不見的實例上測試模型。
3、使用管道處理而不是縮放或變換整個數(shù)據(jù)集。 當(dāng)基于提供的整個數(shù)據(jù)集按比例縮小特征時,例如使用最小-最大縮放器,然后應(yīng)用訓(xùn)練和測試分割,縮放的測試集還包含來自縮放的訓(xùn)練特征的信息,因為最小值和最小值 使用了整個數(shù)據(jù)集的最大值。 因此,始終建議使用管道來防止標(biāo)簽泄漏。
4、根據(jù)保留數(shù)據(jù)測試模型并評估性能。 就基礎(chǔ)架構(gòu),時間和資源而言,這是最昂貴的方式,因為必須使用正確的方法再次執(zhí)行整個過程。
總結(jié)
數(shù)據(jù)泄漏是最常見的一種錯誤和可能發(fā)生的特性工程,使用時間序列,數(shù)據(jù)集標(biāo)簽,并巧妙地通過驗證信息訓(xùn)練集。重要的是機(jī)器學(xué)習(xí)模型僅僅是接觸信息可用時的預(yù)測。因此,明智的做法是仔細(xì)挑選特性,在應(yīng)用轉(zhuǎn)換之前分割數(shù)據(jù),避免在驗證集上擬合轉(zhuǎn)換,并使用管道處理。