Direct naar inhoud
Alle termenData, evaluatie & metrics

Wat is SMOTE?

Een techniek die kunstmatig extra voorbeelden toevoegt van zeldzame gevallen in trainingsdata, zodat een AI-model ook van die minderheidscategorieën leert — zoals het opvullen van lege plekken in je leerboek.

Wat is SMOTE

Wat is SMOTE eigenlijk?

Stel je voor: je traint een AI-model om creditcardfrauduleuze transacties te herkennen. Van de 10.000 transacties in je trainingsdata zijn er slechts 50 frauduleus — de rest is normaal. Het model leert dan vooral wat 'normaal' is, en mist de subtiele signalen van fraude. SMOTE (Synthetic Minority Over-sampling Technique) lost dat op door kunstmatige fraudetransacties te maken — niet door ze te kopiëren, maar door nieuwe, realistische voorbeelden te genereren tussen bestaande fraudegevallen in.

Het werkt als een soort 'interpolatie': SMOTE kijkt naar een zeldzaam voorbeeld (bv. een fraudetransactie), zoekt een paar vergelijkbare voorbeelden in de buurt, en maakt dan nieuwe voorbeelden die ergens tussenin vallen. Alsof je van twee recepten voor appeltaart een derde recept bedenkt dat tussen beide in zit — met net iets meer kaneel dan de ene, maar minder suiker dan de ander.

Waarom heb je dit nodig?

Machine learning-modellen zijn echte pleziervogels: ze leren het makkelijkst van de dingen die ze vaak zien. Als 99% van je data 'normaal' is, leert het model vooral 'normaal' herkennen — en wordt het blind voor de uitzonderingen. Dat is een probleem bij:

  • Fraudedetectie: fraude is zeldzaam, maar juist dát wil je vangen

  • Medische diagnostiek: zeldzame ziekten komen weinig voor in datasets

  • Kwaliteitscontrole: defecten zijn hopelijk zeldzaam

  • Spam-filtering: spam is vaak minder dan 10% van alle mail

Zonder SMOTE krijg je een model dat bijna alles als 'normaal' classificeert — wat technisch gezien vaak correct is (hoge accuracy!), maar in de praktijk waardeloos.

Hoe werkt het in de praktijk?

Stel: je hebt 100 voorbeelden van ziekte X en 10.000 voorbeelden van gezonde mensen. SMOTE kiest een patiënt met ziekte X, zoekt de 5 meest vergelijkbare patiënten met dezelfde ziekte (op basis van kenmerken als leeftijd, bloedwaarden, symptomen), en maakt dan nieuwe 'synthetische' patiënten door waarden tussen die bestaande patiënten te mengen.

Dus: patiënt A heeft bloeddruk 140 en hartslag 85; patiënt B (vergelijkbaar) heeft 145 en 82. SMOTE maakt een nieuwe synthetische patiënt met bijvoorbeeld 142 en 83,5 — een realistisch tussenvoorbeeld.

Het resultaat: je krijgt meer variatie in je minderheidsklasse, zodat het model genuanceerder leert wat de ziekte kenmerkt — niet alleen de exacte voorbeelden die je toevallig had.

Waar kom je het tegen?

SMOTE is een standaardtool in data science libraries:

  • Python: imbalanced-learn (bibliotheken voor ongelijke datasets)

  • R: DMwR, ROSE

  • Tools: KNIME, RapidMiner (met ingebouwde SMOTE-nodes)

Je ziet het vooral bij use cases waar de 'interessante' gevallen zeldzaam zijn: banken gebruiken het voor anti-witwasdetectie, ziekenhuizen voor early warning systems, fabrieken voor het voorspellen van machine-uitval. Overal waar je iets zoekt dat bijna nooit voorkomt — maar wel enorme impact heeft als je het mist.

Let op: niet altijd een wondermiddel

SMOTE heeft grenzen. Als je originele data ruis bevat, vermenigvuldig je die ruis. Als je minderheidsklasse heel divers is (bv. 'fraude' kan op duizend manieren gebeuren), kunnen de synthetische voorbeelden te simplistisch worden. En bij hele kleine datasets (5 fraudegevallen) kun je geen wonderen verwachten — je maakt dan variaties op te weinig patronen.

Daarom gebruik je SMOTE vaak in combinatie met andere technieken: eerst data opschonen, dan SMOTE toepassen, en vervolgens evalueren of je model echt beter voorspelt op nieuwe, echte data — niet alleen op je trainingsset.

Wat kun je er nu mee?

Als je werkt met data waar bepaalde uitkomsten zeldzaam zijn, overweeg dan SMOTE vóór je gaat trainen. Het kost weinig moeite (een paar regels code), maar kan het verschil maken tussen een model dat alleen 'normaal' herkent en een model dat ook die ene cruciale uitzondering spot. Check of je data science-tool SMOTE ondersteunt, experimenteer met hoeveel synthetische voorbeelden je toevoegt, en vergelijk de resultaten met en zonder — zo ontdek je of het jouw specifieke probleem helpt.

FAQ

Veelgestelde vragen over SMOTE

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

Wat is SMOTE?

Een techniek die kunstmatig extra voorbeelden toevoegt van zeldzame gevallen in trainingsdata, zodat een AI-model ook van die minderheidscategorieën leert — zoals het opvullen van lege plekken in je leerboek.

Waarom is SMOTE belangrijk?

Stel je voor: je traint een AI-model om creditcardfrauduleuze transacties te herkennen. Van de 10.000 transacties in je trainingsdata zijn er slechts 50 frauduleus — de rest is normaal. Het model leert dan vooral wat 'normaal' is, en mist de subtiele signalen van fraude. SMOTE (Synthetic Minority Over-sampling Technique) lost dat op door kunstmatige fraudetransacties te maken — niet door ze te kopiëren, maar door nieuwe, realistische voorbeelden te genereren tussen bestaande fraudegevallen in.

Hoe wordt SMOTE toegepast?

Het werkt als een soort 'interpolatie': SMOTE kijkt naar een zeldzaam voorbeeld (bv. een fraudetransactie), zoekt een paar vergelijkbare voorbeelden in de buurt, en maakt dan nieuwe voorbeelden die ergens tussenin vallen. Alsof je van twee recepten voor appeltaart een derde recept bedenkt dat tussen beide in zit — met net iets meer kaneel dan de ene, maar minder suiker dan de ander.

Deel: