SGDClassifier verwenden
In dieser abschließenden Programmierübung führst du mit SGDClassifier() eine Hyperparameter-Suche über die Regularisierungsstärke und die Loss-Funktion (logistische Regression vs. lineares SVM) durch.
Diese Übung ist Teil des Kurses
Lineare Klassifikatoren in Python
Anleitung zur Übung
- Erzeuge eine Instanz von
SGDClassifiermitrandom_state=0. - Suche über die Regularisierungsstärke und die Loss-Funktionen
hingebzw.log_loss.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# We set random_state=0 for reproducibility
linear_classifier = ____(random_state=0)
# Instantiate the GridSearchCV object and run the search
parameters = {'alpha':[0.00001, 0.0001, 0.001, 0.01, 0.1, 1],
'loss':[____]}
searcher = GridSearchCV(linear_classifier, parameters, cv=10)
searcher.fit(X_train, y_train)
# Report the best parameters and the corresponding score
print("Best CV params", searcher.best_params_)
print("Best CV accuracy", searcher.best_score_)
print("Test accuracy of best grid search hypers:", searcher.score(X_test, y_test))