Cursus
Feature engineering draait om het selecteren of creëren van betekenisvolle features die de prestaties van een model verbeteren. Welke ML-algoritme je ook gebruikt, je zult waarschijnlijk vertrouwen op feature-engineeringtechnieken voor gegevensvoorbereiding.
In dit artikel verkennen we feature engineering en de bijbehorende methoden, en bekijken we hoe je ze toepast met een praktische voorbeeldcase voor het voorspellen van huizenprijzen.
Wat is feature engineering in machine learning?
Ik herinner me dat ik een model bouwde om de punctualiteit van leveringen te verbeteren voor een time-in-transit-project op mijn werk. In plaats van complexe ensemblemodellen te trainen, gebruikten we een eenvoudig regressie-algoritme met slechts drie extra features die uit bestaande data waren afgeleid.
Deze aanpak alleen al verhoogde onze on-time leveringsgraad van 48% naar 56%. Dat is een enorme verbetering, zeker bij 10 miljoen records. Zóveel verschil kunnen feature-engineeringtechnieken, zoals feature-extractie, maken!
Kort gezegd betekent feature engineering het selecteren van de juiste features uit bestaande data.
Neem een weerdataset met kolommen voor temperatuur, locatie, maand, jaar en datum. De kolom datum voegt mogelijk weinig toe voor het vastleggen van seizoenspatronen, omdat de kolom maand die informatie al bevat. Het verwijderen van de datumkolom kan de dimensionaliteit van de dataset verlagen zonder de nauwkeurigheid van weersvoorspellingen negatief te beïnvloeden.
Soorten features in machine learning
Voordat we in verschillende feature-engineeringtechnieken duiken, kijken we eerst naar de soorten features die er zijn.
Numerieke features
Zoals de naam al aangeeft, representeren numerieke features data in getallen. Het zijn continue kwantitatieve variabelen. Voorbeelden zijn lengte, leeftijd en salaris.
Categorische features
Een categorische kolom kan alleen discrete waarden bevatten. Zo is iemands gender een categorische kolom, omdat deze maar een paar gendertypen kan hebben. Geboortemaand is een ander voorbeeld, omdat de waarden tussen januari en december moeten vallen.
Categorische variabelen worden verder onderverdeeld in binaire en niet-binaire typen. Binaire variabelen hebben twee mogelijke categorieën, terwijl niet-binaire features meerdere categorieën kunnen hebben.
Tekstuele en tijdreeksfeatures
Tekstkolommen bevatten alleen tekstdata. Voorbeelden zijn productreviews of productbeschrijvingskolommen in een retaildataset.
Tijdreeksfeatures daarentegen representeren tijdsgebonden data, zoals wekelijkse verkopen of schommelingen in aandelenkoersen gedurende een jaar.

Afbeelding door auteur
Feature-engineeringtechnieken
Feature engineering biedt diverse krachtige technieken om ruwe kolommen om te zetten in bruikbare features. Hier bespreken we enkele belangrijke.
Omgaan met missende waarden
Missende waarden kunnen de modelprestaties verstoren, dus het is cruciaal om er goed mee om te gaan. Er zijn twee hoofdbenaderingen:
- Imputatie: Imputatie is het opvullen van missende waarden met beschikbare informatie. Je kunt bijvoorbeeld het gemiddelde, de modus of de mediaan gebruiken om missende waarden te vervangen.
- Verwijderen: Deze methode verwijdert rijen met missende waarden en is het meest geschikt wanneer missende data minder dan 10% van de datasetgrootte is.
Voor een diepgaande gids over het omgaan met missende data, lees deze tutorial Technieken om met missende data om te gaan of bekijk deze cursus Dealing with Missing Data in Python.
Omgaan met outliers
Outliers zijn abnormale waarden die significant afwijken van de rest van de datapunten. Als je bijvoorbeeld een salarisdataset hebt met de meeste observaties tussen $90K en $120K, dan is een salaris als $400K of $10K een outlier.
- Vervangen: Je kunt outliers vervangen door een statistische waarde zoals de max of min van de kolom.
- Transformaties: Pas transformaties toe zoals log of vierkantswortel om de impact te verminderen.
- Robuuste modellen: Gebruik modellen die minder gevoelig zijn voor outliers. Beslisbomen, gradient boosting en ridge-regressie worden minder beïnvloed door outliers.
- Verwijderen: Als geen van de methoden werkt, is het verwijderen van de outliers uit de dataset de laatste optie.
Categorische variabelen encoderen
Machine-learningmodellen kunnen categorische variabelen niet direct verwerken, dus ze moeten worden omgezet in numerieke representaties. Hieronder bespreken we enkele populaire encoderingstechnieken.
- One-hot encoding: Elke categorie in een categorische feature wordt weergegeven als een aparte kolom, met een waarde 1 als de categorie in het sample voorkomt en 0 voor alle andere kolommen. Het onderstaande voorbeeld legt dit uit.
Neem een dataset met de volgende categorische feature:
|
Naam |
Gender |
|
John |
Male |
|
Rachel |
Female |
|
Emma |
Female |
Met one-hot encoding maken we aparte kolommen voor elke mogelijke categorie in de Gender-feature:
|
Naam |
Female |
Male |
|
John |
0 |
1 |
|
Richale |
1 |
0 |
|
Emma |
1 |
0 |
Omdat John Male is, krijgt de kolom "Male" een 1, terwijl de kolom "Female" 0 blijft. Evenzo zijn Rachel en Emma Female, dus is de kolom "Female" 1 en de kolom "Male" 0.
Voor een volledige tutorial over one-hot encoding in Python, bekijk deze One-Hot Encoding Tutorial.
- Label encoding: Label encoding kent een unieke numerieke waarde toe aan elke categorie in een categorische feature. Deze aanpak is nuttig voor ordinale data (waar categorieën een betekenisvolle volgorde hebben), maar kan problemen geven bij niet-ordinale categorische variabelen, omdat het model de numerieke waarden ten onrechte kan interpreteren als een rangorde.
Neem een dataset met een Location-kolom met categorische waarden:
|
Location |
Geëncodeerde waarde |
|
New York |
1 |
|
California |
2 |
|
Texas |
3 |
|
California |
2 |
|
Texas |
3 |
Elke unieke locatie krijgt een afzonderlijke numerieke waarde. Maar omdat California (2) niet inherent "tussen" New York (1) en Texas (3) ligt, kan label encoding voor niet-ordinale data leiden tot misleidende aannames in het model. In zulke gevallen heeft one-hot encoding vaak de voorkeur om te voorkomen dat er onbedoeld een numerieke relatie tussen categorieën wordt gesuggereerd.
- Ordinale encodering: Ordinale encodering lijkt op label encoding, maar wordt specifiek gebruikt wanneer categorische waarden een betekenisvolle volgorde hebben. In plaats van willekeurige numerieke waarden toe te kennen, worden categorieën gemapt op basis van hun rangorde. Zo komen hogere waarden overeen met hoger gerangschikte categorieën.
Neem een kolom Education level met de volgende categorieën:
|
Education level |
Geëncodeerde waarde |
|
UG (Undergraduate) |
1 |
|
PG (Postgraduate) |
2 |
|
PhD |
3 |
Omdat een PhD een hoger opleidingsniveau vertegenwoordigt dan een PG, dat op zijn beurt hoger is dan UG, weerspiegelen de toegewezen numerieke waarden deze rangorde.
- Target encoding: Vervangt elke categorische waarde door het gemiddelde van de overeenkomstige waarden van de targetvariabele. De targetvariabele is de afhankelijke variabele die het model probeert te voorspellen. Deze techniek is vooral nuttig bij categorische features met hoge cardinaliteit (d.w.z. veel unieke waarden), omdat het helpt de dimensionaliteit te verkleinen terwijl relevante informatie behouden blijft.
Neem een dataset waarin Location een categorische feature is en de Target variable een numerieke uitkomst voorstelt:
|
Location |
Targetvariabele |
|
New York |
2 |
|
California |
3 |
|
Texas |
5 |
|
California |
1 |
|
Texas |
4 |
Om de kolom Location te encoderen, berekenen we het gemiddelde van de Target variable voor elke unieke categorie:
- California: (3 + 1) / 2 = 2
- Texas: (5 + 4) / 2 = 4,5
- New York: Slechts één waarde (2), dus blijft 2
|
Location |
Geëncodeerde waarde |
|
New York |
2 |
|
California |
2 |
|
Texas |
4,5 |
|
California |
2 |
|
Texas |
4,5 |
Als je op zoek bent naar een bredere gids over het omgaan met categorische data, biedt deze tutorial over het verwerken van categorische data extra inzichten.
Features schalen
Features schalen zorgt ervoor dat numerieke features binnen een gestandaardiseerd bereik vallen, zodat sommige features het leerproces niet domineren door hun grotere waarden.
Machine-learningmodellen die vertrouwen op afstandsberekeningen (bijv. lineaire regressie, k-nearest neighbors en neurale netwerken) kunnen worden beïnvloed wanneer features sterk verschillende schalen hebben.
Neem bijvoorbeeld een medewerkersdataset met de volgende features:
- Leeftijd varieert van 20 tot 60
- Inkomen varieert van $30.000 tot $150.000
Omdat inkomenswaarden veel groter zijn dan leeftijd, kan een model meer belang toekennen aan inkomen puur vanwege de schaal, niet omdat het daadwerkelijk relevanter is.
Enkele gangbare technieken:
- Normalisatie (min-max-scaling): Deze methode schaalt alle featurewaarden naar een bereik tussen 0 en 1. Ze trekt de minimumwaarde van de kolom af van elk datapunt en deelt dit vervolgens door het bereik van die kolom, dat het verschil is tussen de maximum- en minimumwaarde. De formule ziet er als volgt uit:
Geschaalde waarde =( datapunt - min(kolom))/(max(kolom) - min(kolom))
- Standaardisatie (Z-score-schaal): Dit transformeert alle features zodat ze een gemiddelde van 0 en een standaarddeviatie van 1 hebben. De formule is: het gemiddelde van een kolom wordt afgetrokken van elk datapunt van die kolom en de rest wordt gedeeld door de standaarddeviatie van die feature.
Geschaalde waarde =( datapunt - mean(kolom))/(std(kolom))
Voor een gedetailleerde vergelijking tussen normalisatie en standaardisatie, bekijk deze gids Normalization vs. Standardization.
Nieuwe features creëren
Nieuwe, betekenisvolle features creëren uit bestaande data geeft het model meer logische inzichten.
In een dataset voor het voorspellen van huizenprijzen kun je bijvoorbeeld, als je de kolommen length en breadth apart hebt, een nieuwe feature afleiden: area = length * breath, die mogelijk direct verband houdt met de targetvariabele, price. Door deze feature area aan het model te voeren, wordt het eenvoudiger om verborgen patronen te ontdekken.
Featureselectie
Featureselectie behoudt alleen relevante features door overbodige kolommen te verwijderen. Door te focussen op de meest informatieve data, help je overfitting voorkomen, verlaag je de computationele complexiteit en verbeter je de modelprestaties. Enkele technieken:
- Filtermethoden: Deze methode selecteert belangrijke features op basis van hun statistische eigenschappen. Zo kunnen we features die dezelfde informatie bevatten verwijderen met behulp van een correlatiematrix (heatmap). Andere technieken zijn onder meer de chi-kwadraattoets, ANOVA en Information Gain-methoden.
- Wrappermethoden: Deze methoden trainen iteratief een voorspellend model met verschillende combinaties van subsetten van features, en de beste subset met geoptimaliseerde modelprestaties wordt gekozen. Forward selection, backward selection en recursive elimination vallen in deze categorie.
Feature engineering in Python: een praktisch voorbeeld
Feature engineering begrijp je het best door het hands-on te implementeren.
De dataset "house price prediction" is een grote, realistische dataset met 81 kolommen. Ik heb deze gekozen vanwege het diverse scala aan features, waardoor je feature-engineeringtechnieken in de praktijk beter kunt begrijpen.
Aan de slag:
- Download de dataset van Kaggle.
- Laad hem in een Pandas DataFrame voor analyse en feature engineering.
Categorische missende waarden afhandelen
De volgende code identificeert categorische kolommen in de dataset en vervangt hun missende waarden door de meest voorkomende categorie:
import pandas as pd
# Load dataset (replace 'your_file.csv' with the actual file name)
df = pd.read_csv('your_file.csv')
# Select categorical columns
categorical_cols = df.select_dtypes(include=['object']).columns
# Replace missing values with the most frequent category (mode)
for col in categorical_cols:
mode = df[col].mode()[0] # Get the most common value
df[col].fillna(mode, inplace=True) # Fill missing values
Numerieke missende waarden afhandelen
We gaan numerieke missende waarden afhandelen door ze te vervangen door het gemiddelde of de mediaan. Het gemiddelde is populairder voor statistisch verdeelde data, terwijl de mediaan goed werkt wanneer de kolom outliers bevat. We controleren dus op outliers en bepalen de methode.
Om mogelijke outliers te visualiseren, kunnen we boxplots gebruiken, die extreme waarden helpen identificeren. Hieronder staat een Python-implementatie voor het detecteren van outliers in geselecteerde numerieke kolommen:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
features = ['LotFrontage', 'MasVnrArea', 'GarageYrBlt']
# Plot box plots
df[features]=np.log(df[features])
df[features].boxplot(figsize=(8, 4))
plt.title('Box Plot for Outlier Detection')
plt.ylabel('Values')
plt.xticks(rotation=45)
plt.show()
Output:

De bovenstaande boxplots tonen punten buiten de snorharen—dit zijn outliers. Laten we missende waarden dus vervangen door de mediaan.
Code om nullen te vervangen door mediaanwaarden:
import pandas as pd
# Select numerical columns
numerical_columns = df.select_dtypes(include=['number']).columns
for col in numerical_columns:
median = df[col].median()
df[col].fillna(median, inplace=True) # Replace nulls with median
Nieuwe features creëren
Kolommen zoals YearBuilt, YearRemodAdd, GarageYrBlt en YrSold bevatten jaartallen (bijv. 2001, 1976) die niet direct invloed hebben op de targetvariabele. Hoewel deze absolute jaartallen misschien niet direct de huizenprijs beïnvloeden, kunnen we nuttigere inzichten afleiden door te berekenen hoe oud het huis of de renovatie is op het moment van verkoop.
In plaats van YearBuilt te gebruiken, kunnen we bijvoorbeeld een nieuwe feature maken: House Age=YrSold−YearBuilt
Code om deze nieuwe features te maken:
# Get columns that contain 'Yr' or 'Year'
year_columns = [feature for feature in numerical_columns if 'Yr' in feature or 'Year' in feature]
# Convert year values into age-related features
for col in year_columns:
df[col] = df['YrSold'] - df[col]
Featuretransformatie
In machine learning kunnen scheve numerieke features de modelprestaties negatief beïnvloeden, vooral bij modellen die een normale verdeling veronderstellen (bijv. lineaire regressie). Om dit te corrigeren passen we een logtransformatie toe.
Voordat we een logtransformatie toepassen, moeten we scheve features identificeren. We sluiten echter kolommen met nullen uit, aangezien de logaritme van nul ongedefinieerd is.
Hier is een implementatie in Python om scheve kolommen te identificeren:
import pandas as pd
# Get numerical columns
numerical_columns = df.select_dtypes(include=['number']).columns
# Identify columns containing zeros
numerical_0s = df.loc[:, (df == 0).any()].select_dtypes(include=['number']).columns
# Remove columns that contain zeros from consideration
numerical_columns = numerical_columns.difference(numerical_0s)
# Calculate skewness for the remaining numerical columns
skewness = df[numerical_columns].skew()
# Set threshold for skewness (e.g., absolute value > 1 indicates high skewness)
skewed_columns = skewness[abs(skewness) > 1]
# Display skewed columns
print("Skewed Columns:")
print(skewed_columns)
Output:

We gebruiken log-normale distributie om deze vijf scheve kolommen om te zetten naar een Gaussiaanse verdeling:
import numpy as np
# The list of highly skewed features identified earlier
skew_features = ['LotFrontage', 'LotArea', '1stFlrSF', 'GrLivArea', 'SalePrice']
# Apply log transformation to each skewed feature
for col in skew_features:
df[col] = np.log(df[col])
Categorische features omzetten naar numerieke waarden
We hebben eerder verschillende encoderingstechnieken besproken; in dit voorbeeld passen we target encoding toe.
# Select categorical variables
categorical_columns = df.select_dtypes(include=['object', 'category']).columns
# Apply target encoding
for col in categorical_columns:
# Compute mean SalePrice for each category
labels_ordered = df.groupby([col])['SalePrice'].mean().sort_values().index
# Assign numerical values based on target variable mean
labels_ordered = {x: i for i, x in enumerate(labels_ordered, 0)}
# Map encoded values back to the dataframe
df[col] = df[col].map(labels_ordered)
In de bovenstaande code is de targetvariabele SalePrice, dus groepeerden we de data per categorische kolom en berekenden we de gemiddelde SalePrice voor elke groep. Deze gemiddelde waarden zijn vervolgens toegewezen aan de overeenkomstige categorische waarden in die kolom.
Onze dataset is nu klaar voor machine learning!
Als je je begrip van supervised learning-concepten en hoe modellen gebruikmaken van ontworpen features wilt verdiepen, is deze cursus Supervised Learning with Scikit-Learn een excellente bron.
Tools en libraries voor feature engineering
In deze sectie bespreken we de meest gebruikte Python-libraries en automatiseringstools om feature engineering te implementeren.
Pandas
Pandas is het meest gebruikte Python-framework voor het werken met gestructureerde data. Het voert veel feature-engineeringstappen uit, zoals transformatie, data-aggregatie en feature-extractie. Met Pandas is data opschonen en manipuleren ook eenvoudig.
Als je nieuw bent met pandas, is deze cursus Data Manipulation with pandas een uitstekend startpunt.
Scikit-Learn
Scikit-learn is een krachtige machine-learninglibrary met diverse tools voor feature engineering. Het bevat methoden zoals OneHotEncoder en LabelEncoder om categorisch naar numeriek om te zetten. Het biedt ook featureschaalmethoden zoals StandardScaler en Minmaxscaler.
Feature-Engine
Feature-engine is een open-source Python-library met verschillende transformers om feature engineering te vereenvoudigen. Deze transformers zijn gespecialiseerde tools voor specifieke taken, zoals imputatie van missende data, omgaan met outliers, featureselectie en discretisatie. Volledig compatibel met scikit-learn, kunnen deze transformers worden doorgegeven als inputparameters voor hyperparameter-tuning.
Geautomatiseerde tools voor feature engineering
- Featuretools: Featuretools is een open-sourcelibrary voor het automatiseren van feature engineering. Het framework wordt voornamelijk gebruikt om nieuwe features te creëren uit een relationele database. Het is gebaseerd op het DFS-algoritme (deep feature synthesis), dat nieuwe features opbouwt op basis van transformatie- en aggregatiebewerkingen.
- TSFresh: TSFresh, bekend als Time Series Feature Extraction based on Scalable Hypothesis Tests, is speciaal ontworpen om betekenisvolle features uit tijdreeksdata te extraheren. De library voert hypothesetests uit om statistisch significante features voor de voorspelling te selecteren.
- Autofeat: De Autofeat-library automatiseert featureselectie, -creatie en -transformatie om de nauwkeurigheid van lineaire modellen te verbeteren. In plaats van
fit()biedt de library bijvoorbeeld eenfit_transform()-methode die gelijktijdig fit- en transform-bewerkingen op de inputdata uitvoert. Bovendien zijnFeatureSelectorenAutoFeatLight-modellen beschikbaar voor featureselectie en -schaling.
Best practices voor feature engineering
Om feature engineering effectief te implementeren, focus je op deze best practices.
Ken je data
Als je de betekenis en het belang van elke feature begrijpt, wordt het veel makkelijker om technieken als featureselectie of -extractie uit te voeren. Ik raad je aan je data en relevante domeinkennis te onderzoeken voor effectieve feature engineering.
Voer exploratory data analysis (EDA) uit
Gebruik Python-libraries zoals Pandas en Matplotlib om uitgebreide exploratory data analysis uit te voeren, zoals het verkennen van statistische informatie, visualisaties en correlaties om patronen en mogelijke relaties in de data te vinden.
Creëer interactiefeatures
Interactiefeatures creëren houdt in dat je relaties tussen bestaande features identificeert en daar nieuwe uit afleidt. In de voorspelling van huizenprijzen kun je bijvoorbeeld de leeftijd van een huis berekenen door het bouwjaar van het huidige jaar af te trekken; dit laat trends zien, zoals dalende huizenprijzen naarmate de tijd verstrijkt.
Kies je model vooraf
Verschillende machine-learningmodellen vereisen verschillende stappen in feature engineering. Modellen zoals lineaire of multiple regressie, SVM en KNN profiteren vaak van featurestandaardisatie, maar deze techniek helpt niet bij boomgebaseerde modellen.
Door je model van tevoren te kiezen, kun je een effectieve feature-engineeringpipeline opzetten voor jouw usecase.
Conclusie
Feature engineering is een integraal onderdeel van het bouwen van machine-learningoplossingen, waarmee je features zo efficiënt mogelijk benut. Het proces wordt uitgevoerd door data scientists of ML-engineers bij elke dataset. Als je data professional bent of dat wilt worden, helpt het beheersen van alle technieken in dit artikel je carrière vooruit!
Wil je deze technieken uitgebreider verkennen, bekijk dan de DataCamp-cursussen over feature engineering voor machine learning en feature engineering voor NLP. Er is ook een cursus over feature engineering voor R-programmeurs.
FAQs
Hoe verschilt feature engineering van featureselectie?
Feature engineering omvat het creëren van nieuwe features of het transformeren van bestaande om de modelprestaties te verbeteren. Featureselectie daarentegen is het kiezen van de meest relevante features en het weggooien van irrelevante of redundante om overfitting te voorkomen en de modelcomplexiteit te verlagen.
Kan feature engineering worden geautomatiseerd?
Ja! Geautomatiseerde feature-engineeringtools zoals FeatureTools, AutoML-libraries (bijv. Auto-sklearn, H2O.ai) en Google’s AutoML Tables kunnen automatisch features creëren en transformeren, wat tijd en moeite bespaart. Domeinkennis blijft echter cruciaal om de beste features te interpreteren en te selecteren.
Hoe beïnvloedt feature engineering de uitlegbaarheid van een model?
Feature engineering kan de uitlegbaarheid verbeteren of verminderen, afhankelijk van de gebruikte technieken. Bijvoorbeeld:
- Het creëren van betekenisvolle features (bijv. "House Age" in plaats van "YearBuilt") verbetert de uitlegbaarheid.
- Transformaties zoals PCA (Principal Component Analysis) kunnen features minder interpreteerbaar maken, maar de modelprestaties verbeteren.
Hangt feature engineering af van het type machine-learningmodel?
Ja! Verschillende modellen profiteren van verschillende feature-engineeringtechnieken:
- Lineaire modellen (bijv. Linear Regression, Logistic Regression) – Vereisen featureschaling en profiteren vaak van polynomiale featuretransformaties.
- Boomgebaseerde modellen (bijv. Decision Trees, Random Forest, XGBoost) – Kunnen goed omgaan met ongeschaalde data en profiteren vaak meer van featureselectie dan van transformaties.
- Deep learning-modellen – Hebben liever ruwe features, en transformaties zoals embeddinglagen helpen bij categorische data.
Wat is feature crossing en wanneer moet ik het gebruiken?
Feature crossing is het combineren van twee of meer features om een nieuwe feature te maken die interacties daartussen vastlegt. Voorbeeld:
- In plaats van "Age" en "Income" afzonderlijk te gebruiken, maak je "Income-to-Age Ratio" om financiële stabiliteit per leeftijdsgroep vast te leggen.
- Gebruik feature crossing wanneer relaties tussen variabelen de targetvariabele niet-lineair beïnvloeden.
Hoe kan ik beoordelen of een feature de modelprestaties verbetert?
Je kunt de featurebelang evalueren met:
- Permutation Importance – Meet hoe het schudden van een feature de modelnauwkeurigheid beïnvloedt.
- Feature importance in boomgebaseerde modellen – Veel modellen zoals Random Forests bieden ingebouwde scores voor featurebelang.
- Cross-validatieprestaties – Vergelijk modelnauwkeurigheid met en zonder een feature.
Wat is interactie-feature engineering?
Interactie-feature engineering houdt in dat je nieuwe features maakt op basis van interacties tussen bestaande features. Dit kan omvatten:
- Vermenigvuldigen (productfeatures): twee features combineren (bijv. "Height × Weight" voor BMI).
- Ratio's: de ene feature door de andere delen (bijv. "Prijs per vierkante voet").
- Polynomiale features: features tot een macht verheffen (bijv. "Age²" voor niet-lineaire relaties).
Hoe ga je om met categorische variabelen met hoge cardinaliteit?
Voor categorische variabelen met veel unieke waarden (bijv. postcodes, gebruikers-ID's):
- Target encoding: vervang categorieën door het gemiddelde van de targetvariabele.
- Embeddinglagen (voor deep learning): leer representaties met lagere dimensie van categorieën.
- Hashing-encoding: wijs categorieën toe aan buckets met een hashfunctie.
Srujana is een freelance techschrijver met een vierjarige opleiding in Computer Science. Schrijven over uiteenlopende onderwerpen, waaronder data science, cloud computing, development, programmeren, security en veel meer, gaat haar vanzelf af. Ze houdt van klassieke literatuur en het ontdekken van nieuwe bestemmingen.

