Gridsearchcv
Stryg for at vise menuen
For at forbedre modelpræstationen justeres hyperparametre. Idéen er enkel: test forskellige værdier, beregn krydsvalideringsscore, og vælg den med højeste score.
Denne proces kan udføres ved hjælp af GridSearchCV-klassen fra modulet sklearn.model_selection.
GridSearchCV kræver en model og et parametergrid (param_grid).
Eksempel:
param_grid = {'n_neighbors': [1, 3, 5, 7]}
Efter initialisering af GridSearchCV kaldes .fit(X, y).
- Den bedste model findes i
.best_estimator_; - Dens krydsvalideringsscore findes i
.best_score_.
12345678910111213import pandas as pd from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import GridSearchCV df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins_pipelined.csv') X, y = df.drop('species', axis=1), df['species'] param_grid = {'n_neighbors': [1,3,5,7,9]} grid_search = GridSearchCV(KNeighborsClassifier(), param_grid) grid_search.fit(X, y) print(grid_search.best_estimator_) print(grid_search.best_score_)
Efter tilpasning genoplærer GridSearchCV automatisk den bedste estimator på hele datasættet.
Objektet grid_search fungerer som den endelige trænede model og kan bruges direkte med .predict() og .score().
12grid_search.fit(X, y) print(grid_search.score(X, y)) # training accuracy (not reliable for real evaluation)
Var alt klart?
Tak for dine kommentarer!
Sektion 4. Kapitel 6
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Sektion 4. Kapitel 6