GridSearchCV
Zur Verbesserung der Modellleistung werden Hyperparameter optimiert. Das Prinzip ist einfach: Verschiedene Werte testen, Kreuzvalidierungsergebnisse berechnen und den Wert mit dem höchsten Score auswählen.
Dieser Prozess kann mit der Klasse GridSearchCV aus dem Modul sklearn.model_selection durchgeführt werden.
GridSearchCV benötigt ein Modell und ein Parameter-Raster (param_grid).
Beispiel:
param_grid = {'n_neighbors': [1, 3, 5, 7]}
Nach der Initialisierung von GridSearchCV wird .fit(X, y) aufgerufen.
- Das beste Modell befindet sich in
.best_estimator_; - Der Kreuzvalidierungsscore befindet sich in
.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_)
Nach dem Fitten trainiert GridSearchCV den besten Schätzer automatisch erneut auf dem vollständigen Datensatz.
Das grid_search-Objekt ist das endgültig trainierte Modell und kann direkt mit .predict() und .score() verwendet werden.
12grid_search.fit(X, y) print(grid_search.score(X, y)) # training accuracy (not reliable for real evaluation)
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Can you explain what a parameter grid is and how to choose its values?
How does GridSearchCV perform cross-validation?
What does the best_estimator_ attribute represent?
Awesome!
Completion rate improved to 3.13
GridSearchCV
Swipe um das Menü anzuzeigen
Zur Verbesserung der Modellleistung werden Hyperparameter optimiert. Das Prinzip ist einfach: Verschiedene Werte testen, Kreuzvalidierungsergebnisse berechnen und den Wert mit dem höchsten Score auswählen.
Dieser Prozess kann mit der Klasse GridSearchCV aus dem Modul sklearn.model_selection durchgeführt werden.
GridSearchCV benötigt ein Modell und ein Parameter-Raster (param_grid).
Beispiel:
param_grid = {'n_neighbors': [1, 3, 5, 7]}
Nach der Initialisierung von GridSearchCV wird .fit(X, y) aufgerufen.
- Das beste Modell befindet sich in
.best_estimator_; - Der Kreuzvalidierungsscore befindet sich in
.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_)
Nach dem Fitten trainiert GridSearchCV den besten Schätzer automatisch erneut auf dem vollständigen Datensatz.
Das grid_search-Objekt ist das endgültig trainierte Modell und kann direkt mit .predict() und .score() verwendet werden.
12grid_search.fit(X, y) print(grid_search.score(X, y)) # training accuracy (not reliable for real evaluation)
Danke für Ihr Feedback!