0Pricing
Learn AI with Python · Lektion

Methoden zur Feature-Auswahl

Filtermethoden (Varianz, Korrelation), Wrappermethoden (RFE) und eingebettete Methoden (L1-Regularisierung).

Methoden zur Feature-Auswahl ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Warum Merkmale auswählen

Merkmalsauswahl behält nur die nützlichsten Spalten. Weniger Merkmale bedeuten schnelleres Training, weniger Überanpassung und eine leichtere Interpretation. Das Entfernen von Rauschen verbessert oft auch die Genauigkeit.

Drei Methodengruppen

Auswahlmethoden lassen sich in drei Gruppen einteilen:

  • Filter ordnen Merkmale anhand einer Statistik (schnell, modellunabhängig)
  • Wrapper suchen durch das Trainieren von Modellen nach Teilmengen (langsam, genau)
  • Embedded führen die Auswahl während der Modellanpassung durch

VarianceThreshold

Der einfachste Filter: VarianceThreshold entfernt Merkmale, deren Varianz unter einem Grenzwert liegt. Nahezu konstante Spalten enthalten keine Informationen.

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 mit f_classif

SelectKBest behält die K Merkmale mit den höchsten Scores. Mit f_classif verwendet es einen ANOVA-F-Test, der misst, wie stark jedes Merkmal mit dem Klassenlabel zusammenhängt.

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))

Mutual Information

mutual_info_classif misst jede Abhängigkeit, auch nichtlineare, zwischen einem Merkmal und dem Ziel. Anders als der F-Test erfasst es nichtlineare Zusammenhänge, die der ANOVA-Test nicht erkennt.

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)

Vergleich von f_classif und mutual_info

f_classif ist schnell und erkennt lineare Zusammenhänge; mutual_info_classif ist langsamer, erfasst dafür aber auch nichtlineare Zusammenhänge. Wenn Sie komplexe Beziehungen vermuten, bevorzugen Sie Mutual Information.

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])

Rekursive Merkmalselimination

RFE ist eine Wrapper-Methode: Sie trainiert ein Modell, entfernt das unwichtigste Merkmal und wiederholt diesen Vorgang. Dabei verwendet sie das vom Modell gelieferte Wichtigkeitssignal, um Merkmale zu ordnen.

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: Die Anzahl automatisch bestimmen

RFECV ergänzt RFE um Kreuzvalidierung. Dadurch findet es anhand des Validierungs-Scores die optimale Anzahl von Merkmalen, statt eine feste Anzahl zu erraten.

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 mit Lasso

Eingebettete Auswahl: Lasso (L1) schrumpft die Koeffizienten unwichtiger Merkmale exakt auf null. SelectFromModel behält anschließend nur die Koeffizienten ungleich null.

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 mit Baum-Wichtigkeiten

SelectFromModel funktioniert auch mit jedem Schätzer, der feature_importances_ bereitstellt, etwa mit Random Forests. Setzen Sie einen threshold wie "mean" oder "median".

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

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

Eine Methode auswählen

Beginnen Sie mit kostengünstigen Filtern (VarianceThreshold, SelectKBest), um offensichtlichen Ballast zu entfernen. Verwenden Sie SelectFromModel für ein gutes Gleichgewicht. Setzen Sie RFECV ein, wenn die Genauigkeit am wichtigsten ist und genügend Rechenleistung zur Verfügung steht.

Kurzer Test

Testen Sie Ihr Wissen über die Merkmalsauswahl.

Zusammenfassung

Zusammenfassung: Die Merkmalsauswahl umfasst Filter- (VarianceThreshold, SelectKBest mit f_classif oder mutual_info_classif), Wrapper- (RFECV) und eingebettete Methoden (SelectFromModel mit Lasso oder Baum-Wichtigkeiten). Filter sind am schnellsten; RFECV ist am genauesten. Verwenden Sie Mutual Information für nichtlineare Zusammenhänge.

Häufig gestellte Fragen

Ist die Lektion „Methoden zur Feature-Auswahl“ kostenlos?

Ja — der vollständige Text von „Methoden zur Feature-Auswahl“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Methoden zur Feature-Auswahl“?

Filtermethoden (Varianz, Korrelation), Wrappermethoden (RFE) und eingebettete Methoden (L1-Regularisierung). Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.

Wie lange dauert die Lektion „Methoden zur Feature-Auswahl“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Methoden zur Feature-Auswahl
  2. Interaktions- und polynomiale Features erstellen
  3. Target-Encoding und fortgeschrittene Verarbeitung kategorischer Daten
  4. Automatisiertes Feature Engineering mit Featuretools
← Zurück zu Learn AI with Python