Ajuster conjointement gamma et C avec GridSearchCV
Dans l’exercice précédent, la meilleure valeur de gamma était 0,001 avec la valeur par défaut de C, qui est 1. Dans cet exercice, vous allez rechercher la meilleure combinaison de C et gamma à l’aide de GridSearchCV.
Comme dans l’exercice précédent, le jeu de données de chiffres 2-contre-non-2 est déjà chargé, mais cette fois il est réparti dans les variables X_train, y_train, X_test et y_test. Même si la validation croisée découpe déjà l’ensemble d’entraînement en parties, il est souvent judicieux de conserver un ensemble de test séparé pour vérifier que les résultats de la validation croisée sont cohérents.
Cet exercice fait partie du cours
Classifieurs linéaires en Python
Instructions
- Exécutez
GridSearchCVpour trouver les meilleurs hyperparamètres à partir de l’ensemble d’entraînement. - Affichez les meilleures valeurs des paramètres.
- Affichez la précision sur l’ensemble de test, qui n’a pas été utilisé pendant la procédure de validation croisée.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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(____))