Dataläckage
Dataläckage innebär att de data som används för att träna en algoritm för maskininlärning innehåller den information som du försöker förutsäga. Detta kan leda till att modellen presterar bättre under träningen än den skulle göra i verkligheten, vilket ger en falsk bild av hur bra modellen presterar. Lär dig hur du identifierar och förhindrar dataläckage för att få tillförlitliga prognoser.
Generellt orsakas dataläckage av minst en av följande:
-
När en eller flera funktioner i träningsuppsättningen kan användas för att ta fram den målvariabel som du försöker förutsäga. Om exempelvis ditt mål är ett Sales-fält och en av dina funktioner är ett Sales Tax-fält som beräknas från Sales.
-
När en eller flera funktioner i träningsuppsättningen innehåller information som inte skulle vara känd vid tidpunkten för prognosen.
I följande tabell är kolumnen Stage en duplikatkolumn av kolumnen Stage (Binary) som vi vill förutsäga. Genom att inkludera Stage i träningsdatauppsättningen skulle vi ge svaret på det förväntade resultatet, vilket skulle leda till en hög poäng för vår modell.
Total Employees | Annual Revenue (M$) | Lead Source | Forecast Deal ($) | Stage | Stage (Binary) |
---|---|---|---|---|---|
12078 | 2705 | Partner | 369,000 | 6 - Closed/Lost | LOST |
10076 | 1783 | Inside sales | 71,000 | 6 - Closed/Won | WON |
8518 | 2114 | Inside sales | 294,000 | 6 - Closed/Lost | LOST |
3978 | 1159 | Sales rep | 214,000 | 6 - Closed/Won | WON |
3517 | 2285 | Marketing promo | 154,000 | 6 - Closed/Lost | LOST |
3370 | 97 | Customer referral | 41,000 | 6 - Closed/Won | WON |
Målläckage
Målläckage är en form av dataläckage. Målläckage uppkommer när funktionsdata refererar måldata som kan användas för prognoser. Referenserna, eller "läckagen", kan vara direkta eller indirekta.
Med intelligent modelloptimering identifierar AutoML målläckage och förhindrar att det förs in i dina modeller. Funktioner som visar på målläckage detekteras automatiskt och tas bort från modellträningen. Se Intelligent modelloptimering för mer information om intelligent modelloptimering.
Identifiering av dataläckage
För att identifiera dataläckage kan du fundera på frågor som "Kommer du att ha samma information för posterna vid den tidpunkt då du vill göra en prognos?" eller "Kommer posten att vara densamma om 30 dagar?". Kom ihåg att alla data i träningsdatauppsättningen måste vara relevanta för tidsbegränsningen i din affärsfråga.
När du har tränat en modell kan du leta efter följande ledtrådar i modellens mätvärden.
-
Höga poäng: är poängen verkligen höga? Är till exempel F1-poängen över 85?
-
Funktionens betydelse: är en funktion mycket viktigare än allt annat?
-
Poäng för undantagande: är poängen för undantaganden mycket lägre än poängen för korsvalidering?
Tabellen visar exempel på vanliga funktioner som kan orsaka dataläckage.
Affärsrelaterat användningsområde | Mål |
Potentiellt läckande funktioner |
---|---|---|
Kommer en försäljningsmöjlighet att avslutas? |
Stäng (ja eller nej) |
Steg, slutdatum, fakturauppgifter, utbetalda provisioner |
Förutsäg ett framtida transaktionsbelopp |
Beloppet för nästa transaktion |
Skatter, beställningsuppgifter |
Kommer ett ämne att omvandlas till en möjlighet? |
Konvertera (ja eller nej) |
Uppgifter om möjligheter, omvandlingsdatum |
Kommer en kund att förloras? |
Förlust (ja eller nej) |
Orsak till förlust, datum för förlust, statisk kundtid, kundtemperatur |
Kommer en anställd att säga upp sig frivilligt? |
Uppsägning (ja eller nej) |
Uppgifter om avgångsintervju, uppsägningsdatum, information om avskedsansökan |
Förhindra dataläckage
Det bästa sättet att förhindra dataläckage är att använda det strukturerade ramverket för att få fram en bra affärsfråga och en bra datauppsättning. Se Definiera frågor för maskininlärning för mer information.