Gemeinsames Tuning von gamma und C mit GridSearchCV
In der vorherigen Übung war der beste Wert für gamma 0,001 bei dem Standardwert von C (1). In dieser Übung suchst du mit GridSearchCV nach der besten Kombination aus C und gamma.
Wie in der vorherigen Übung ist der 2-vs.-nicht-2-Ziffern-Datensatz bereits geladen, diesmal jedoch in die Variablen X_train, y_train, X_test und y_test aufgeteilt. Auch wenn Cross-Validation das Trainingsset bereits in Teile aufteilt, ist es oft sinnvoll, zusätzlich ein separates Testset zurückzuhalten, um sicherzustellen, dass die Ergebnisse der Cross-Validation plausibel sind.
Diese Übung ist Teil des Kurses
Lineare Klassifikatoren in Python
Anleitung zur Übung
- Führe
GridSearchCVaus, um mit dem Trainingsset die besten Hyperparameter zu finden. - Gib die besten Parameterwerte aus.
- Gib die Accuracy auf dem Testset aus, das während der Cross-Validation nicht verwendet wurde.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Instantiate an RBF SVM
svm = SVC()
# Instantiate the GridSearchCV object and run the search
parameters = {'C':[0.1, 1, 10], 'gamma':[0.00001, 0.0001, 0.001, 0.01, 0.1]}
searcher = GridSearchCV(svm, ____)
____.fit(____)
# Report the best parameters and the corresponding score
print("Best CV params", searcher.best_params_)
print("Best CV accuracy", searcher.best_score_)
# Report the test accuracy using these best parameters
print("Test accuracy of best grid search hypers:", searcher.score(____))