Ga naar hoofdinhoud

Overzicht van coderingsmethoden

In deze tutorial krijg je een indruk van coderings­technieken, plus enkele geavanceerde referenties die je helpen categorische variabelen aan te pakken.
Bijgewerkt 2 okt 2026  · 5 min lezen

Verken met AI

ChatGPTClaudePerplexity
potloden illustratie

"In veel praktische data science-activiteiten bevat de dataset categorische variabelen. Deze variabelen worden meestal als tekstwaarden opgeslagen". (Practical Business Python) Omdat machine learning is gebaseerd op wiskundige vergelijkingen, levert het problemen op als we categorische variabelen ongewijzigd laten. Veel algoritmen ondersteunen categorische waarden zonder verdere bewerking, maar ook dan is het onderwerp van discussie of je de variabelen wel of niet moet coderen. Voor algoritmen die categorische waarden niet ondersteunen, blijven coderingsmethoden over. Laten we hier een paar methoden bespreken.

Coderingsmethoden

Label encoding

Bij label encoding koppelen we elke categorie aan een getal of label. De gekozen labels hebben onderling geen relatie. Categorieën die onderling verwant zijn of dicht bij elkaar liggen, verliezen die informatie dus na codering.

Frequentie-encoding

Dit is een manier om de frequentie van categorieën als labels te gebruiken. In gevallen waar de frequentie in zekere mate samenhangt met de targetvariabele, helpt dit het model om het gewicht recht- of omgekeerd evenredig toe te kennen, afhankelijk van de aard van de data.

One-hot encoding

Bij deze methode koppelen we elke categorie aan een vector met 1 en 0 die aangeven of een kenmerk aanwezig is of niet. Het aantal vectors hangt af van de categorieën die we willen behouden. Voor features met hoge cardinaliteit levert deze methode veel kolommen op, wat het leren aanzienlijk kan vertragen. Er is vaak discussie over one-hot encoding versus dummy-encoding en wanneer je welke gebruikt. Ze lijken sterk op elkaar, behalve dat one-hot encoding evenveel kolommen oplevert als er categorieën zijn, terwijl dummy-encoding er één minder maakt. Uiteindelijk moet de modelbouwer dit passend afhandelen in het validatieproces.

Dummyvariabele-valkuil:

Stel, je hebt twee categorieën in een categorisch kenmerk. Na one-hot encoding zijn er twee kolommen die het kenmerk representeren, maar als je goed kijkt, is één vector voldoende om beide waarden weer te geven. Neem een categorisch kenmerk met twee waarden, laten we zeggen “rood” en “blauw”. Na one-hot encoding worden twee vectors gevormd: één voor “rood” en één voor “blauw”. De informatie kan echter al uit één vector worden geleerd; de andere is dan constant. We kunnen dus één vector laten vallen, wat leidt tot minder data waarop algoritmen moeten trainen. Dit helpt het model beter te presteren en maakt het bovendien makkelijker uit te leggen hoe het model werkt. In praktijksituaties moeten we vaak met veel categorische features werken, soms met voorkennis over hun relatie tot de uitkomsten. Coderingspraktijken helpen je weliswaar bij het verwerken van de input, maar kunnen het proces en het leren ook een zware klus maken.

Target-, impact- of likelihood-encoding

Target encoding lijkt op label encoding, behalve dat de labels hier direct correleren met de target. Bij mean target encoding wordt voor elke categorie in het kenmerk het label bepaald door de gemiddelde waarde van de targetvariabele in de trainingsdata. Deze coderingsmethode legt de relatie tussen vergelijkbare categorieën bloot, maar die relaties blijven beperkt tot de categorieën en de target zelf. Voordelen van mean target encoding zijn dat het het datavolume niet beïnvloedt en sneller leren mogelijk maakt; nadeel is dat het lastiger te valideren is. Regularisatie is vereist bij de implementatie van deze coderingsmethode. Zie target encoder in python en R.

Coderingsstatistieken

Coderingsvariabiliteit beschrijft de variatie van de codering van individuen binnen een categorie. Bij one-hot encoding hangt de variabiliteit af van het moment van implementatie, waarin wordt bepaald hoeveel categorieën worden meegenomen die voldoende impact hebben op de target. Andere coderingsmethoden vertonen ook significante variabiliteit, die tijdens de validatie wordt vastgesteld.

Om de onderscheidbaarheid van codering te berekenen, tellen we de labels van de categorieën en berekenen vervolgens de standaarddeviatie van de labels. Dat toont de onderscheidbaarheid van de gecodeerde categorieën: liggen ze ver uit elkaar of zijn ze geclusterd in een gebied.

Houd er rekening mee dat wanneer je in het modelleerproces voor een eenvoudige coderingsstijl kiest, het model de neiging heeft bevooroordeeld te zijn. Voor meer begrip, bekijk deze discussie. Voor verschillende modellen moet je je coderingsmethode inschatten: voor regressie kun je bijvoorbeeld mean target encoding toepassen. Heb je classificatie, dan kun je gaan voor relatieve frequentie-encoding.

Tot slot wil ik een transformer in scikit-learn-stijl delen die helpt bij het coderen van categorische variabelen met verschillende technieken.

category_encoders

Deze scikit-learn-bibliotheek biedt de volgende technieken die momenteel zijn geïmplementeerd:

  • Ordinaal
  • One-hot
  • Binair
  • Helmert-contrast
  • Som-contrast
  • Polynoom-contrast
  • Backward difference-contrast
  • Hashing
  • BaseN
  • LeaveOneOut
  • Target encoding

Hij ondersteunt de pandas-dataframe als input en kan data transformeren. Ook sklearn-pipelines worden ondersteund; voor details, kijk hier.

Wil je meer leren over scikit-learn, volg dan DataCamp's cursus Supervised Learning with scikit-learn.

Onderwerpen
Machine Learning

Lees meer over machine learning

{count, plural, one {Cursus} other {Cursussen}}

Inzicht in Machine Learning

{hours} uur
311.9K
Een introductie tot machine learning zonder coderen.
Bekijk detailsRight Arrow
Start Cursus
Meer bekijkenRight Arrow
Gerelateerd

{count, plural, one {blog} other {blogs}}

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer BekijkenMeer Bekijken