Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Gridsearchcv | Modelleren
ML-Introductie met Scikit-learn

bookGridsearchcv

Nu is het tijd om de prestaties van het model te verbeteren door de meest geschikte hyperparameters te identificeren.

Dit proces staat bekend als hyperparameterafstemming. De standaardbenadering is om verschillende hyperparameterwaarden te testen, de cross-validatiescore voor elke waarde te berekenen en de waarde te selecteren die de hoogste score oplevert.

Dit proces kan worden uitgevoerd met behulp van de GridSearchCV-klasse van de module sklearn.model_selection.

Bij het aanmaken van een GridSearchCV-object geef je het model en het parameterrooster (param_grid) op, en kun je optioneel de scoringsmaatstaf en het aantal folds specificeren. Het parameterrooster is een dictionary met hyperparameterwaarden die getest worden. Bijvoorbeeld:

param_grid = {'n_neighbors': [1, 3, 5, 7]}

Deze configuratie evalueert het model met 1, 3, 5 en 7 buren.

Na het initialiseren van GridSearchCV train je het met .fit(X, y).

  • Het beste model (hoogste cross-validatiescore) is toegankelijk via .best_estimator_.
  • De bijbehorende cross-validatiescore kan worden bekeken via .best_score_.
123456789101112131415
import 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') # Assign X, y variables (X is already preprocessed and y is already encoded) X, y = df.drop('species', axis=1), df['species'] # Create the param_grid and initialize GridSearchCV object param_grid = {'n_neighbors': [1,3,5,7,9]} grid_search = GridSearchCV(KNeighborsClassifier(), param_grid) # Train the GridSearchCV object. During training it finds the best parameters grid_search.fit(X, y) # Print the best estimator and its cross-validation score print(grid_search.best_estimator_) print(grid_search.best_score_)
copy

De volgende stap is het gebruik van de best_estimator_ om deze te trainen op de volledige dataset, aangezien deze reeds is geïdentificeerd als het model met de beste parameters. Deze stap wordt automatisch uitgevoerd door GridSearchCV.

Hierdoor wordt het grid_search-object zelf een getraind model met de optimale parameters. Dit model kan direct worden gebruikt voor voorspellingen en evaluaties via de .predict()- en .score()-methoden.

123456789101112131415
import 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') # Assign X, y variables (X is already preprocessed and y is already encoded) X, y = df.drop('species', axis=1), df['species'] # Create the param_grid and initialize GridSearchCV object param_grid = {'n_neighbors': [1,3,5,7,9]} grid_search = GridSearchCV(KNeighborsClassifier(), param_grid) # Train the GridSearchCV object. During training it finds the best parameters grid_search.fit(X, y) # Evaluate the grid_search on the training set # It is done only to show that .score() method works, evaluating on training set is not reliable. print(grid_search.score(X, y))
copy
question mark

Zodra je een GridSearchCV-object hebt getraind, kun je het gebruiken om voorspellingen te doen met de .predict()-methode. Is dit correct?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 6

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Suggested prompts:

What other hyperparameters can I tune with GridSearchCV?

How do I interpret the results from GridSearchCV?

Can you explain how cross-validation works in this context?

Awesome!

Completion rate improved to 3.13

bookGridsearchcv

Veeg om het menu te tonen

Nu is het tijd om de prestaties van het model te verbeteren door de meest geschikte hyperparameters te identificeren.

Dit proces staat bekend als hyperparameterafstemming. De standaardbenadering is om verschillende hyperparameterwaarden te testen, de cross-validatiescore voor elke waarde te berekenen en de waarde te selecteren die de hoogste score oplevert.

Dit proces kan worden uitgevoerd met behulp van de GridSearchCV-klasse van de module sklearn.model_selection.

Bij het aanmaken van een GridSearchCV-object geef je het model en het parameterrooster (param_grid) op, en kun je optioneel de scoringsmaatstaf en het aantal folds specificeren. Het parameterrooster is een dictionary met hyperparameterwaarden die getest worden. Bijvoorbeeld:

param_grid = {'n_neighbors': [1, 3, 5, 7]}

Deze configuratie evalueert het model met 1, 3, 5 en 7 buren.

Na het initialiseren van GridSearchCV train je het met .fit(X, y).

  • Het beste model (hoogste cross-validatiescore) is toegankelijk via .best_estimator_.
  • De bijbehorende cross-validatiescore kan worden bekeken via .best_score_.
123456789101112131415
import 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') # Assign X, y variables (X is already preprocessed and y is already encoded) X, y = df.drop('species', axis=1), df['species'] # Create the param_grid and initialize GridSearchCV object param_grid = {'n_neighbors': [1,3,5,7,9]} grid_search = GridSearchCV(KNeighborsClassifier(), param_grid) # Train the GridSearchCV object. During training it finds the best parameters grid_search.fit(X, y) # Print the best estimator and its cross-validation score print(grid_search.best_estimator_) print(grid_search.best_score_)
copy

De volgende stap is het gebruik van de best_estimator_ om deze te trainen op de volledige dataset, aangezien deze reeds is geïdentificeerd als het model met de beste parameters. Deze stap wordt automatisch uitgevoerd door GridSearchCV.

Hierdoor wordt het grid_search-object zelf een getraind model met de optimale parameters. Dit model kan direct worden gebruikt voor voorspellingen en evaluaties via de .predict()- en .score()-methoden.

123456789101112131415
import 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') # Assign X, y variables (X is already preprocessed and y is already encoded) X, y = df.drop('species', axis=1), df['species'] # Create the param_grid and initialize GridSearchCV object param_grid = {'n_neighbors': [1,3,5,7,9]} grid_search = GridSearchCV(KNeighborsClassifier(), param_grid) # Train the GridSearchCV object. During training it finds the best parameters grid_search.fit(X, y) # Evaluate the grid_search on the training set # It is done only to show that .score() method works, evaluating on training set is not reliable. print(grid_search.score(X, y))
copy
question mark

Zodra je een GridSearchCV-object hebt getraind, kun je het gebruiken om voorspellingen te doen met de .predict()-methode. Is dit correct?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 6
some-alt