Categorische kolommen coderen
De basis van one-hot- en labelcodering
Categorische kolommen coderen is een gratis Data Science Academy-les op CoddyKit. Dit is les 2 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Data Science Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Data Science Academy bevat in totaal 4 lessen.
Waarom codering belangrijk is
De meeste modellen begrijpen alleen getallen, terwijl je gegevens vol staan met woorden zoals rood of blauw. Codering zet die labels om in getallen waar een model van kan leren. 🔢
Nominaal tegenover ordinaal
Sommige categorieën hebben een volgorde, zoals klein, middelgroot en groot. Andere, zoals stadsnamen, hebben die niet. Deze volgorde bepaalt welke codering eerlijk is.
Labelcodering
Labelcodering wijst aan elke categorie een geheel getal toe: rood wordt 0 en blauw wordt 1. Eenvoudig, maar het creëert een volgorde die misschien niet echt bestaat.
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
codes = le.fit_transform(df['color'])De valkuil van een verzonnen volgorde
Als blauw 1 is en groen 2, kan een model denken dat groen groter is dan blauw. Bij nominale gegevens kan die onjuiste rangorde de nauwkeurigheid schaden.
One-hotcodering
One-hot encoding maakt voor elke categorie een nieuwe kolom, met de waarde 1 of 0. Geen verzonnen volgorde, maar duidelijke ja-of-nee-vlaggen.
get_dummies in pandas
De snelste manier voor one-hot encoding in pandas is get_dummies. Geef het een kolom en het zet elke categorie om in een eigen kolom met 0 of 1.
dummies = pd.get_dummies(df['color'])Vermijd de dummyvalkuil
De kolommen zijn perfect gecorreleerd, dus verwijder er één met drop_first. Zo blijven lineaire modellen stabiel en voorkom je overbodige informatie.
pd.get_dummies(df['color'], drop_first=True)OneHotEncoder voor pipelines
Gebruik voor modellen bij voorkeur de OneHotEncoder van scikit-learn. Die onthoudt welke categorieën hij heeft geleerd, zodat train- en testgegevens perfect op elkaar blijven aansluiten.
from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder(handle_unknown='ignore')Codeer volgorde bewust
Wanneer er echt een volgorde is, leg je die zelf vast, zodat klein tot groot 1 tot 3 wordt. Een ordinal-mapping behoudt de betekenis.
order = {'small': 1, 'medium': 2, 'large': 3}
df['size_num'] = df['size'].map(order)Let op hoge cardinaliteit
One-hot encoding van een kolom met duizenden waarden groeit uit tot duizenden kolommen. Overweeg bij hoge cardinaliteit eerst zeldzame waarden te groeperen.
Behandel onbekende categorieën
Nieuwe gegevens kunnen labels bevatten die je encoder nog nooit heeft gezien. Bereid je hierop voor, zodat een onbekende categorie je voorspellingsstap niet laat crashen.
Korte controle
Je kleurkolom heeft geen natuurlijke volgorde. Welke codering voorkomt dat je een valse rangorde verzint?
Samenvatting: codering
Je hebt woorden omgezet in getallen: one-hot voor categorieën zonder volgorde, ordinal-mappings voor een echte volgorde en label encoding alleen wanneer de volgorde niet van belang is. 🎉
Leer Python met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 30
- Lessen
- 120
Veelgestelde vragen
Is de les “Categorische kolommen coderen” gratis?
Ja — de volledige tekst van “Categorische kolommen coderen” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Data Science Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Data Science Academy bevat in totaal 4 lessen.
Wat leer ik in “Categorische kolommen coderen”?
De basis van one-hot- en labelcodering Je oefent met Data Science Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Data Science Academy te beginnen?
Ervaring vooraf is niet nodig. Data Science Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 2 van 4.
Hoe lang duurt de les “Categorische kolommen coderen”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Data Science Academy?
Ja. Elke les over Data Science Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.
Alle lessen in deze cursus
- Getallen indelen in categorieën
- Categorische kolommen coderen
- Getallen schalen en normaliseren
- Kenmerken maken uit datums en tekst