Grid Search CV i Sklearn

Grid Search CV i Sklearn

“Variablene i en maskinlæringsmodell som bestemmer hvordan parametrene vil bli innstilt er kjent som hyperparametere. Problemet med å velge en gruppe ideelle hyperparametere for en læringsalgoritme er kjent som hyperparameterinnstilling. Hyperparametrene kan konfigureres manuelt eller automatisk. Det er mange algoritmer tilgjengelig for denne finjusteringen. En slik metode, GridSearchCV, vil bli dekket i denne bloggen.”

Hva er hyperparametere?

Vi kan passe modellparametere ved å bruke eksisterende data for å trene en modell. En annen klasse av parametere kan ikke umiddelbart læres gjennom rutinemessig trening. Disse parametrene representerer modellens "høyere nivå" -egenskaper, for eksempel kompleksitet og læringsrate. Hyperparametre er betegnelsen for dem. Vanligvis justeres hyperparametere før treningen starter.

Hva er Grid Search CV?

Grid -søk vurderer ytelsen for hver mulig kombinasjon av hyperparametrene og deres verdier, velger kombinasjonen med den beste ytelsen, og tar den kombinasjonen som utgangspunkt. Med så mange hyperparametere involvert, blir behandlingen tidkrevende og dyrt. Kryssvalidering gjøres i GridSearchCV i tillegg til nettsøk. Kryssvalidering brukes mens modellen er opplært til å validere resultatene mot et datasett.

Grid -søk på tvers av to hyperparametere (kilde: Wikipedia)

Hvordan fungerer nettsøk?

I sin mest grunnleggende form er nettsøk en metode som bruker brute force for å estimere hyperparametere. La oss si at du har K -hyperparametere, og det er CI mulige verdier for hver av dem. Å ta et kartesisk produkt av disse potensielle verdiene er egentlig det nettsøket er. Selv om rutenettsøk kan virke svært ineffektivt, kan det bli fremskyndet ved hjelp av parallell behandling.

Implementering av nettsøk i Sklearn

# Importere bibliotekene og klassene
Fra Sklearn Import SVM, datasett
Fra Sklearn.Model_Selection Import GridSearchCV
# Last inn IRIS -datasettet
data = datasett.LOAD_IRIS ()
# Spesifisere parameterområdet og algoritmen
parametere = 'kjerne' :( 'lineær', 'rbf'), 'c': [5, 20]
# Opprette modellen
SVC = SVM.SVC ()
# Opprette gridsarch -forekomst
CLF = GridSearchCV (SVC, parametere)
# montere modellen
trykk (CLF.passform (data.data, data.mål))
# Skrive ut resultatene
trykk (CLF.cv_results_.Keys ())

Produksjon

GridSearchCV (estimator = svc (),
param_grid = 'c': [5, 20], 'kjerne': ('lineær', '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', ',', 'splitest_Score', 'Splitest. 4_test_score ' , 'mean_test_score', 'std_test_score', 'rank_test_score'])

Konklusjon

Denne artikkelen snakket om hvordan du kan stille inn hyperparametere ved hjelp av GridSearchCV og implementeringen. I maskinlæring er hyperparametere parametere som brukeren direkte definerer for å regulere læringsprosessen. Disse hyperparametrene brukes for å forbedre modellens læringsprosess. Hyperparameterinnstilling innebærer å bestemme de ideelle verdiene for forskjellige parametere. Sklearn tilbyr "Mode Selection" -klassen, som gjør oss i stand til å generere rardsøkforekomster og bruke dem til våre formål.