CommencerCommencer gratuitement

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

Afficher le cours

Instructions

  • Exécutez GridSearchCV pour 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(____))
Modifier et exécuter le code