Leer AI met Python · Les

Methoden voor featureselectie

Filtermethoden (variantie, correlatie), wrappermethoden (RFE) en embedded methoden (L1-regularisatie).

Les 1 van 413 stappen

Methoden voor featureselectie is een gratis Leer AI met Python-les op CoddyKit. Dit is les 1 van 4. Je kunt 3 lessen uit dit leerpad gratis volledig lezen — daarna ontgrendelt CoddyKit PRO alle lessen, plus praktische oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Leer AI met Python. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Leer AI met Python bevat in totaal 4 lessen.

Waarom kenmerken selecteren

Kenmerkselectie behoudt alleen de nuttigste kolommen. Minder kenmerken betekenen sneller trainen, minder overfitting en een eenvoudigere interpretatie. Door ruis te verwijderen verbeter je vaak ook de nauwkeurigheid.

Drie methodenfamilies

Selectiemethoden vallen in drie groepen:

  • Filtermethoden rangschikken kenmerken op basis van een statistiek (snel, modelonafhankelijk)
  • Wrappermethoden zoeken naar deelverzamelingen door modellen te trainen (traag, nauwkeurig)
  • Ingebedde methoden selecteren kenmerken tijdens het trainen van het model

VarianceThreshold

De eenvoudigste filter: VarianceThreshold verwijdert kenmerken waarvan de variantie onder een grens ligt. Vrijwel constante kolommen bevatten geen informatie.

from sklearn.feature_selection import VarianceThreshold

sel = VarianceThreshold(threshold=0.01)
X_reduced = sel.fit_transform(X)
print("Kept:", X_reduced.shape[1], "of", X.shape[1])

SelectKBest met f_classif

SelectKBest behoudt de K kenmerken met de hoogste score. Met f_classif gebruikt het een ANOVA-F-toets die meet hoe sterk elk kenmerk samenhangt met het klasselabel.

from sklearn.feature_selection import SelectKBest, f_classif

sel = SelectKBest(score_func=f_classif, k=10)
X_best = sel.fit_transform(X, y)
print(sel.get_support(indices=True))

Wederzijdse informatie

mutual_info_classif meet elke afhankelijkheid, ook niet-lineaire, tussen een kenmerk en de doelvariabele. In tegenstelling tot de F-toets legt deze methode niet-lineaire verbanden vast die ANOVA mist.

from sklearn.feature_selection import SelectKBest, mutual_info_classif

sel = SelectKBest(score_func=mutual_info_classif, k=10)
X_mi = sel.fit_transform(X, y)

Vergelijking van f_classif en mutual_info

f_classif is snel en detecteert lineaire verbanden; mutual_info_classif is trager maar vindt ook niet-lineaire verbanden. Als je complexe verbanden vermoedt, kies dan voor wederzijdse informatie.

import numpy as np
from sklearn.feature_selection import f_classif, mutual_info_classif

f_scores, _ = f_classif(X, y)
mi_scores = mutual_info_classif(X, y)
print("F-test top:", np.argsort(f_scores)[::-1][:5])
print("MI top:", np.argsort(mi_scores)[::-1][:5])

Recursieve kenmerkeliminatie

RFE is een wrappermethode: de methode traint een model, verwijdert het zwakste kenmerk en herhaalt dit. Ze gebruikt het eigen belangrijkheidssignaal van het model om kenmerken te rangschikken.

from sklearn.feature_selection import RFE
from sklearn.linear_model import LogisticRegression

rfe = RFE(estimator=LogisticRegression(max_iter=1000), n_features_to_select=10)
rfe.fit(X, y)
print(rfe.support_)

RFECV: het aantal automatisch kiezen

RFECV voegt kruisvalidatie toe aan RFE, zodat het op basis van de validatiescore het optimale aantal kenmerken vindt in plaats van een vaste gok te gebruiken.

from sklearn.feature_selection import RFECV
from sklearn.ensemble import RandomForestClassifier

rfecv = RFECV(
    estimator=RandomForestClassifier(),
    cv=5,
    scoring="accuracy",
)
rfecv.fit(X, y)
print("Optimal features:", rfecv.n_features_)

SelectFromModel met Lasso

Ingebedde selectie: Lasso (L1) verkleint onbelangrijke coëfficiënten tot precies nul. SelectFromModel behoudt vervolgens alleen de niet-nulle coëfficiënten.

from sklearn.feature_selection import SelectFromModel
from sklearn.linear_model import Lasso

sel = SelectFromModel(Lasso(alpha=0.01))
sel.fit(X, y)
X_lasso = sel.transform(X)
print("Kept:", X_lasso.shape[1])

SelectFromModel met belangrijkheidsscores van bomen

SelectFromModel werkt ook met elke schatter die feature_importances_ beschikbaar maakt, zoals random forests. Stel een threshold in, bijvoorbeeld "mean" of "median".

from sklearn.feature_selection import SelectFromModel
from sklearn.ensemble import RandomForestClassifier

sel = SelectFromModel(
    RandomForestClassifier(n_estimators=200),
    threshold="median",
)
sel.fit(X, y)

Een methode kiezen

Begin met goedkope filters (VarianceThreshold, SelectKBest) om overduidelijk overbodige kenmerken te verwijderen. Gebruik de ingebedde SelectFromModel voor een goede balans. Bewaar RFECV voor situaties waarin nauwkeurigheid het belangrijkst is en er voldoende rekenkracht beschikbaar is.

Korte kennistest

Test je kennis over kenmerkselectie.

Samenvatting

Samenvatting: Kenmerkselectie omvat filtermethoden (VarianceThreshold, SelectKBest met f_classif of mutual_info_classif), wrappermethoden (RFECV) en ingebedde methoden (SelectFromModel met Lasso of belangrijkheidsscores van bomen). Filters zijn het snelst; RFECV is het nauwkeurigst. Gebruik wederzijdse informatie voor niet-lineaire verbanden.

Gratis beginnen

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
53
Lessen
225

Veelgestelde vragen

Is de les “Methoden voor featureselectie” gratis?

Ja — je kunt hier op het web alle 3 lessen van het leerpad Leer AI met Python, waaronder “Methoden voor featureselectie”, gratis volledig lezen. Daarna ontgrendelt CoddyKit PRO alle lessen, plus interactieve oefeningen met een ingebouwde code-editor en een AI-tutor die 24/7 beschikbaar is. De cursus Leer AI met Python bevat in totaal 4 lessen.

Wat leer ik in “Methoden voor featureselectie”?

Filtermethoden (variantie, correlatie), wrappermethoden (RFE) en embedded methoden (L1-regularisatie). Je oefent met Leer AI met Python 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 Leer AI met Python te beginnen?

Ervaring vooraf is niet nodig. Leer AI met Python 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 1 van 4.

Hoe lang duurt de les “Methoden voor featureselectie”?

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 Leer AI met Python?

Ja. Elke les over Leer AI met Python 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

  1. Methoden voor featureselectie
  2. Interactie- en polynomiale features maken
  3. Target encoding en geavanceerde verwerking van categorische gegevens
  4. Geautomatiseerde feature-engineering met Featuretools
← Terug naar Leer AI met Python