Direct naar inhoud
Alle termenData, evaluatie & metrics

Wat is Data Leakage?

Wanneer een AI-model stiekem informatie uit de testdata al tijdens de training heeft gezien, waardoor het bij een toets vals speelt — net als een student die de examenvragen van tevoren kent.

Wat is Data Leakage

Vals spelen met huiswerk dat je al kent

Stel je voor: je traint een AI-model om spam-mails te herkennen. Je test het daarna met een testset om te zien hoe goed het werkt. Het model scoort 99% correct — fantastisch! Maar dan ontdek je dat sommige mails uit je testset per ongeluk al in de trainingdata zaten. Het model heeft die mails dus letterlijk uit z'n hoofd geleerd, niet het patroon erachter. Dat is data leakage: het model speelt vals door de antwoorden van tevoren te kennen.

Data leakage ontstaat wanneer informatie uit je testdata — of uit de toekomstige realiteit die je wilt voorspellen — onbedoeld in de trainingsdata terechtkomt. Het gevolg: je model lijkt veel slimmer dan het eigenlijk is. In de praktijk presteert het dan teleurstellend, omdat het echte nieuwe situaties nooit heeft leren begrijpen.

Hoe gebeurt dit in de praktijk?

Data leakage sluipt er op verschillende manieren in:

  • Temporele lekkage: je wilt voorspellen of iemand morgen z'n lening terugbetaalt, maar in je data zit per ongeluk ook informatie van overmorgen (zoals: "heeft de lening daadwerkelijk terugbetaald: ja"). Het model leert dus de toekomst uit de toekomst zelf.

  • Duplicaten: dezelfde voorbeelden zitten zowel in trainings- als testdata. Het model herkent letterlijk die specifieke gevallen, niet het algemene patroon.

  • Features die te veel verklappen: je bouwt een model om ziekte te voorspellen, maar één van je invoervariabelen is "voorgeschreven medicijn". Dat medicijn werd natuurlijk pas voorgeschreven nádat de diagnose gesteld was — het is dus een indirecte hint naar het antwoord.

  • Pre-processing fouten: je past bijvoorbeeld standaardisatie toe op de hele dataset (inclusief testdata) voordat je splitst. Daardoor "weet" je trainingsdata al iets over de verdeling van de testdata.

Waarom is dit zo vervelend?

Als je data leakage niet opmerkt, denk je dat je model productierijp is. Je zet het in — en het faalt keihard. Een voorbeeld uit de praktijk: een model dat röntgenfoto's analyseert lijkt 95% accuraat, maar blijkt alleen het ziekenhuis te herkennen waar de foto gemaakt is (aan subtiele metadata of beeldkwaliteit), niet de ziekte zelf. Zodra je foto's uit een ander ziekenhuis gebruikt, stort de prestatie in.

Data leakage is een van de meest voorkomende valkuilen bij het ontwikkelen van machine learning-modellen. Het ondermijnt het hele evaluatieproces — je meet niet meer hoe goed je model generaliseert, maar hoe goed het kan onthouden.

Hoe voorkom je het?

Een paar gezonde gewoontes:

  • Splits eerst, bewerk daarna: maak eerst je train/test-split, pas daarna normalisatie of andere bewerkingen alleen op de trainingsdata toe

  • Controleer tijdlijnen: als je iets voorspelt over de toekomst, zorg dat je trainingsdata strict vóór dat moment ligt

  • Check voor duplicaten: zoek naar identieke of bijna-identieke records in beide datasets

  • Denk na over causaliteit: zou deze variabele in de echte wereld beschikbaar zijn op het moment dat je de voorspelling moet doen? Zo niet: weglaten

Waar kom je het tegen?

Data leakage is geen specifiek probleem van één tool — het kan gebeuren bij elk machine learning-project, ongeacht of je Scikit-learn, TensorFlow, PyTorch of een no-code platform gebruikt. Het zit in je werkwijze, niet in je software.

Je komt het vooral tegen in:

  • Medische AI (diagnosemodellen)

  • Financiële voorspellingen (kredietscores, fraudedetectie)

  • Voorspellend onderhoud (wanneer valt een machine uit)

  • Aanbevelingssystemen (wat koopt iemand morgen)

Elke situatie waarin je de toekomst probeert te voorspellen op basis van het verleden, is gevoelig voor deze fout.

Let op de details

Data leakage is subtiel. Vaak merk je het pas als je model live gaat en de resultaten tegenvallen. Daarom is het verstandig om tijdens ontwikkeling kritisch te blijven: als je scores té mooi lijken, controleer dan dubbel of je niet per ongeluk vals speelt. Een gezonde dosis scepsis bij opvallend goede resultaten bespaart je later een hoop hoofdpijn — en vertrouwen van eindgebruikers die op je model rekenen.

FAQ

Veelgestelde vragen over Data Leakage

De drie meest gestelde vragen over dit onderwerp, kort beantwoord.

Wat is Data Leakage?

Wanneer een AI-model stiekem informatie uit de testdata al tijdens de training heeft gezien, waardoor het bij een toets vals speelt — net als een student die de examenvragen van tevoren kent.

Waarom is Data Leakage belangrijk?

Stel je voor: je traint een AI-model om spam-mails te herkennen. Je test het daarna met een testset om te zien hoe goed het werkt. Het model scoort 99% correct — fantastisch! Maar dan ontdek je dat sommige mails uit je testset per ongeluk al in de trainingdata zaten. Het model heeft die mails dus letterlijk uit z'n hoofd geleerd, niet het patroon erachter. Dat is data leakage: het model speelt vals door de antwoorden van tevoren te kennen.

Hoe wordt Data Leakage toegepast?

Data leakage ontstaat wanneer informatie uit je testdata — of uit de toekomstige realiteit die je wilt voorspellen — onbedoeld in de trainingsdata terechtkomt. Het gevolg: je model lijkt veel slimmer dan het eigenlijk is. In de praktijk presteert het dan teleurstellend, omdat het echte nieuwe situaties nooit heeft leren begrijpen.

Deel: