Finjustera gamma och C tillsammans med GridSearchCV
I föregående övning var det bästa värdet för gamma 0,001 med standardvärdet för C, som är 1. I den här övningen söker du efter den bästa kombinationen av C och gamma med hjälp av GridSearchCV.
Precis som i föregående övning är sifferdatamängden för 2-mot-inte-2 redan inläst, men den här gången är den uppdelad i variablerna X_train, y_train, X_test och y_test. Även om korsvalidering redan delar upp träningsuppsättningen i delar är det ofta klokt att hålla undan en separat testuppsättning för att kontrollera att korsvalideringsresultaten är rimliga.
Den här övningen är en del av kursen
Linjära klassificerare i Python
Övningsinstruktioner
- Kör
GridSearchCVför att hitta de bästa hyperparametrarna med hjälp av träningsuppsättningen. - Skriv ut de bästa parametervärdena.
- Skriv ut noggrannheten på testuppsättningen, som inte användes under korsvalideringsproceduren.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(____))