Grid Search CV in Sklearn

Grid Search CV in Sklearn

“Le variabili di un modello di apprendimento automatico che determinano come verranno sintonizzati i parametri sono note come iperparametri. Il problema della selezione di un gruppo di iperparametri ideali per un algoritmo di apprendimento è noto come messa a punto iperparametro. Gli iperparametri possono essere configurati manualmente o automaticamente. Ci sono numerosi algoritmi disponibili per questa modifica. Uno di questi metodi, GridSearchcv, sarà trattato in questo blog."

Cosa sono iperparametri?

Possiamo adattarci ai parametri del modello utilizzando i dati esistenti per addestrare un modello. Un'altra classe di parametri non può essere immediatamente appresa attraverso la formazione di routine. Questi parametri rappresentano le caratteristiche di "livello superiore" del modello, come la complessità e il tasso di apprendimento. Iperparametri è il termine per loro. In genere, gli iperparametri vengono regolati prima dell'inizio dell'allenamento.

Cos'è la ricerca della griglia cv?

La ricerca della griglia valuta le prestazioni per ogni possibile combinazione di iperparametri e i loro valori, sceglie la combinazione con le migliori prestazioni e prende quella combinazione come punto di partenza. Con così tanti iperparametri coinvolti, l'elaborazione diventa molto tempo. La convalida incrociata viene eseguita in GridSearchcv oltre alla ricerca della griglia. La convalida incrociata viene impiegata mentre il modello è addestrato per convalidare i risultati contro un set di dati.

Ricerca della griglia su due iperparametri (fonte: Wikipedia)

Come funziona la ricerca della griglia?

Nella sua forma più elementare, la ricerca della griglia è un metodo che utilizza la forza bruta per stimare iperparametri. Diciamo che hai K iperparametri e ci sono CI possibili valori per ciascuno di essi. Prendere un prodotto cartesiano di questi potenziali valori è essenzialmente ciò che è la ricerca della griglia. Sebbene la ricerca della griglia possa apparire altamente inefficiente, può essere accelerata utilizzando l'elaborazione parallela.

Implementazione della ricerca della griglia in Sklearn

# Importazione delle biblioteche e delle classi
Da Sklearn Import SVM, set di dati
da Sklearn.Model_Selection Import GridSearchcv
# Caricamento del set di dati Iris
Data = set di dati.load_iris ()
# Specifica lo spazio dei parametri e l'algoritmo
parametri = 'kernel' :( 'lineare', 'rbf'), 'c': [5, 20]
# Creazione del modello
SVC = SVM.Svc ()
# Creazione dell'istanza di GridSearch
CLF = GridSearchcv (SVC, Parametri)
# adattarsi al modello
Stampa (CLF.adattamento (dati.dati, dati.bersaglio))
# Stampare i risultati
Stampa (CLF.cv_results_.tasti ())

Produzione

GridSearchcv (stimatore = svc (),
param_grid = 'c': [5, 20], 'kernel': ('linear', 'rbf'))
DICT_KEYS (['mean_fit_time', 'std_fit_time', 'mean_score_time', 'std_score_time', 'param_c', 'param_kernel', 'params', 'split0_test_score', 'split1_test_score', 'split2_test_score', 'split3_test' , 'mean_test_score', 'std_test_score', 'rank_test_score'])

Conclusione

Questo articolo ha parlato di come sintonizzare gli iperparametri usando GridSearchcv e la sua implementazione. Nell'apprendimento automatico, iperparametri sono parametri che l'utente definisce direttamente per regolare il processo di apprendimento. Questi iperparametri sono impiegati per migliorare il processo di apprendimento del modello. La messa a punto iperparametro comporta la determinazione dei valori ideali per vari parametri. Sklearn offre la classe "Selezione della modalità", che ci consente di generare istanze di ricerca della griglia e utilizzarle per i nostri scopi.