Gå till huvudinnehåll Gå till ytterligare innehåll

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.

Det finns två former av dataläckage:

  • 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.

Tabell med den "läckande kolumnen" Stage som innehåller information om målkolumnen Stage (Binary)

Tabell med exempeldata.

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ådeMå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. Definiera frågor för maskininlärning

Anteckning om tipsOm du har identifierat en läckande kolumn som inte bör användas vid modellträningen kan du ändå behålla den i datauppsättningen. Du kan helt enkelt utesluta denna funktion från träningsdata i ditt experiment med maskininlärning.
RELATERAD INFORMATION:

Mer information

Var den här sidan till hjälp för dig?

Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!