Gridsearchcv
Svep för att visa menyn
För att förbättra modellens prestanda justeras hyperparametrar. Idén är enkel: testa olika värden, beräkna korsvalideringspoäng och välj det värde som ger högst poäng.
Denna process kan utföras med klassen GridSearchCV från modulen sklearn.model_selection.
GridSearchCV kräver en modell och ett parametergrid (param_grid).
Exempel:
param_grid = {'n_neighbors': [1, 3, 5, 7]}
Efter att ha initierat GridSearchCV, anropa .fit(X, y).
- Den bästa modellen finns i
.best_estimator_; - Dess korsvalideringspoäng finns 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 anpassning tränar GridSearchCV automatiskt om bästa estimatören på hela datasettet.
Objektet grid_search blir den slutgiltiga tränade modellen och kan användas direkt med .predict() och .score().
12grid_search.fit(X, y) print(grid_search.score(X, y)) # training accuracy (not reliable for real evaluation)
Var allt tydligt?
Tack för dina kommentarer!
Avsnitt 4. Kapitel 6
Fråga AI
Fråga AI
Fråga vad du vill eller prova någon av de föreslagna frågorna för att starta vårt samtal
Avsnitt 4. Kapitel 6