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
- Methoden zur Feature-Auswahl
- Interaktions- und polynomiale Features erstellen
- Target-Encoding und fortgeschrittene Verarbeitung kategorischer Daten
- Automatisiertes Feature Engineering mit Featuretools