Únik informace (data leakage)

Únik informace (data leakage) je metodická chyba, při níž se do tréninku dostane informace, která v okamžiku skutečné predikce není k dispozici. Model pak na testech vykazuje mimořádně dobré výsledky, ale v provozu selže – jde tedy o jednu z nejzrádnějších chyb v strojovém učení, protože se projeví teprve po nasazení. Nejčastější podobou je cílový únik, kdy je mezi příznaky veličina odvozená přímo z předpovídaného jevu: model předpovídající odchod klienta má k dispozici pole „datum odeslání výpovědi“. Druhou podobou je únik při předzpracování, kdy se normalizace, doplnění chybějících hodnot nebo výběr příznaků spočítají nad celým datasetem před rozdělením, takže statistiky testovací části prosáknou do tréninku. Třetí je časový únik, kdy se náhodným rozdělením dostane budoucnost do trénovací množiny; u časových řad se proto smí dělit jen chronologicky. Čtvrtou je duplicita nebo skupinový únik, kdy tentýž pacient či zákazník figuruje v obou částech. Prevencí je striktní oddělení testovací množiny před jakoukoli operací, zapouzdření předzpracování do pipeline a při křížové validaci seskupení podle entity.


Je to jako když student před zkouškou najde na chodbě klíč se správnými odpověďmi. U zkoušky exceluje a všichni si myslí, že látku umí. Teprve v praxi se ukáže, že neumí nic. V analytice to vypadá nevinněji: chcete předpovědět, kdo z klientů odejde, a mezi údaji nechtěně necháte kolonku „důvod ukončení smlouvy“. Model si toho okamžitě všimne, dosáhne stoprocentní úspěšnosti a vy jste na chvíli hrdí. Pak ho pustíte na živé klienty, kde je ta kolonka logicky prázdná, a nefunguje vůbec.

Je pro vás článek užitečný a čerpáte z něj? Zkopírujte si citaci