IniziaInizia gratis

Ottimizzare insieme gamma e C con GridSearchCV

Nell'esercizio precedente il valore migliore di gamma era 0.001 usando il valore predefinito di C, cioè 1. In questo esercizio cercherai la migliore combinazione di C e gamma usando GridSearchCV.

Come nell'esercizio precedente, l'insieme di dati delle cifre 2-vs-non-2 è già caricato, ma questa volta è suddiviso nelle variabili X_train, y_train, X_test e y_test. Anche se la convalida incrociata suddivide già il training set in parti, spesso è una buona idea tenere da parte un test set separato per assicurarti che i risultati della convalida incrociata siano sensati.

Questo esercizio fa parte del corso

Classificatori lineari in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Esegui GridSearchCV per trovare i migliori iperparametri usando il training set.
  • Stampa i valori migliori dei parametri.
  • Stampa l'accuratezza sul test set, che non è stato usato durante la procedura di convalida incrociata.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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(____))
Modifica ed esegui il codice