Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Codering van Categorische Kenmerken | Kernconcepten
Clusteranalyse

bookCodering van Categorische Kenmerken

Clustering-algoritmen zoals K-means vereisen numerieke data. Categorische kenmerken moeten worden omgezet naar numerieke vorm via codering. Je leert over ordinale en one-hot encoding.

Ordinale Codering

Ordinale codering zet geordende categorieën om in numerieke waarden, waarbij hun rangorde behouden blijft. Bijvoorbeeld, ordinale codering van de kolom 'education_level' transformeert de waarden van "High School", "Bachelor's", "Master's", 'PhD' naar 0, 1, 2, 3.

Dit veronderstelt een betekenisvol numeriek verschil tussen de gecodeerde waarden, wat niet altijd accuraat hoeft te zijn.

from sklearn.preprocessing import OrdinalEncoder

education_levels = [['High School',
                     "Bachelor's",
                     "Master's",
                     "PhD"]]
encoder = OrdinalEncoder(categories=education_levels)

df[['education_encoded']] = encoder.fit_transform(df[['education_level']]) 

One-hot Codering

One-hot codering zet nominale (ongeordende) categorieën om in binaire kolommen, waarbij elke categorie een nieuwe kolom wordt. Voor een kenmerk met n categorieën worden doorgaans n kolommen aangemaakt — één kolom is 1 voor de betreffende categorie, de overige zijn 0. Echter, slechts n-1 kolommen zijn daadwerkelijk nodig om de informatie zonder redundantie weer te geven.

Bijvoorbeeld, een kolom 'color' met waarden 'red', 'blue' en 'green' kan worden gecodeerd met slechts twee kolommen: 'color_red' en 'color_blue'. Als een rij 0 heeft in beide kolommen, betekent dit dat de kleur 'green' is. Door één kolom te verwijderen, voorkomen we redundantie.

Het verwijderen van de redundante kolom wordt gespecificeerd via drop='first':

from sklearn.preprocessing import OneHotEncoder 

encoder = OneHotEncoder(drop='first', sparse=False) 

encoded = encoder.fit_transform(df[['color']]) 
question mark

Welke encoderingstechniek is het meest geschikt voor een categorisch kenmerk zoals 'country' met waarden als "USA", "Canada" en "Germany", waarbij er geen natuurlijke volgorde is?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 2

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 2.94

bookCodering van Categorische Kenmerken

Veeg om het menu te tonen

Clustering-algoritmen zoals K-means vereisen numerieke data. Categorische kenmerken moeten worden omgezet naar numerieke vorm via codering. Je leert over ordinale en one-hot encoding.

Ordinale Codering

Ordinale codering zet geordende categorieën om in numerieke waarden, waarbij hun rangorde behouden blijft. Bijvoorbeeld, ordinale codering van de kolom 'education_level' transformeert de waarden van "High School", "Bachelor's", "Master's", 'PhD' naar 0, 1, 2, 3.

Dit veronderstelt een betekenisvol numeriek verschil tussen de gecodeerde waarden, wat niet altijd accuraat hoeft te zijn.

from sklearn.preprocessing import OrdinalEncoder

education_levels = [['High School',
                     "Bachelor's",
                     "Master's",
                     "PhD"]]
encoder = OrdinalEncoder(categories=education_levels)

df[['education_encoded']] = encoder.fit_transform(df[['education_level']]) 

One-hot Codering

One-hot codering zet nominale (ongeordende) categorieën om in binaire kolommen, waarbij elke categorie een nieuwe kolom wordt. Voor een kenmerk met n categorieën worden doorgaans n kolommen aangemaakt — één kolom is 1 voor de betreffende categorie, de overige zijn 0. Echter, slechts n-1 kolommen zijn daadwerkelijk nodig om de informatie zonder redundantie weer te geven.

Bijvoorbeeld, een kolom 'color' met waarden 'red', 'blue' en 'green' kan worden gecodeerd met slechts twee kolommen: 'color_red' en 'color_blue'. Als een rij 0 heeft in beide kolommen, betekent dit dat de kleur 'green' is. Door één kolom te verwijderen, voorkomen we redundantie.

Het verwijderen van de redundante kolom wordt gespecificeerd via drop='first':

from sklearn.preprocessing import OneHotEncoder 

encoder = OneHotEncoder(drop='first', sparse=False) 

encoded = encoder.fit_transform(df[['color']]) 
question mark

Welke encoderingstechniek is het meest geschikt voor een categorisch kenmerk zoals 'country' met waarden als "USA", "Canada" en "Germany", waarbij er geen natuurlijke volgorde is?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 2
some-alt