Logistische Regression und Feature-Auswahl
In dieser Übung führen wir eine Feature-Auswahl auf dem Datensatz mit Filmkritik-Stimmungen mithilfe von L1-Regularisierung durch. Die Features und Zielgrößen sind bereits in X_train und y_train geladen.
Wir suchen den besten Wert für C mit scikit-learns GridSearchCV(), das im vorausgesetzten Kurs behandelt wurde.
Diese Übung ist Teil des Kurses
Lineare Klassifikatoren in Python
Anleitung zur Übung
- Instanziiere ein Logistic-Regression-Objekt, das L1-Regularisierung verwendet.
- Finde den Wert von
C, der den Kreuzvalidierungsfehler minimiert. - Gib für diesen
C-Wert die Anzahl der ausgewählten Features aus.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Specify L1 regularization
lr = LogisticRegression(solver='liblinear', ____)
# Instantiate the GridSearchCV object and run the search
searcher = GridSearchCV(lr, {'C':[0.001, 0.01, 0.1, 1, 10]})
searcher.fit(X_train, y_train)
# Report the best parameters
print("Best CV params", searcher.best_params_)
# Find the number of nonzero coefficients (selected features)
best_lr = searcher.best_estimator_
coefs = best_lr.____
print("Total number of features:", coefs.size)
print("Number of selected features:", np.count_nonzero(coefs))