Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Recherche Par Grille Cv | Modélisation
Introduction au ML Avec Scikit-Learn

bookRecherche Par Grille Cv

Il est maintenant temps d'améliorer les performances du modèle en identifiant les hyperparamètres les plus adaptés.

Ce processus est appelé ajustement des hyperparamètres. L'approche standard consiste à tester différentes valeurs d'hyperparamètres, à calculer le score de validation croisée pour chacune, puis à sélectionner la valeur qui produit le meilleur score.

Ce processus peut être réalisé à l'aide de la classe GridSearchCV du module sklearn.model_selection.

Lors de la création d'un objet GridSearchCV, il faut fournir le modèle et la grille de paramètres (param_grid), et éventuellement spécifier la métrique d'évaluation et le nombre de plis. La grille de paramètres est un dictionnaire des valeurs d'hyperparamètres à tester. Par exemple :

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

Cette configuration évalue le modèle avec 1, 3, 5 et 7 voisins.

Après l'initialisation de GridSearchCV, entraînez-le avec .fit(X, y).

  • Le meilleur modèle (meilleur score de validation croisée) est accessible via .best_estimator_.
  • Le score de validation croisée correspondant peut être consulté 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

L'étape suivante consiste à utiliser le best_estimator_ et à l'entraîner sur l'ensemble du jeu de données, puisqu'il a déjà été identifié comme ayant les meilleurs paramètres. Cette étape est effectuée automatiquement par GridSearchCV.

En conséquence, l'objet grid_search devient lui-même un modèle entraîné avec les paramètres optimaux. Il peut être utilisé directement pour la prédiction et l'évaluation via les méthodes .predict() et .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) # 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

Une fois que vous avez entraîné un objet GridSearchCV, vous pouvez l'utiliser pour faire des prédictions en utilisant la méthode .predict(). Est-ce correct ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 6

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Awesome!

Completion rate improved to 3.13

bookRecherche Par Grille Cv

Glissez pour afficher le menu

Il est maintenant temps d'améliorer les performances du modèle en identifiant les hyperparamètres les plus adaptés.

Ce processus est appelé ajustement des hyperparamètres. L'approche standard consiste à tester différentes valeurs d'hyperparamètres, à calculer le score de validation croisée pour chacune, puis à sélectionner la valeur qui produit le meilleur score.

Ce processus peut être réalisé à l'aide de la classe GridSearchCV du module sklearn.model_selection.

Lors de la création d'un objet GridSearchCV, il faut fournir le modèle et la grille de paramètres (param_grid), et éventuellement spécifier la métrique d'évaluation et le nombre de plis. La grille de paramètres est un dictionnaire des valeurs d'hyperparamètres à tester. Par exemple :

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

Cette configuration évalue le modèle avec 1, 3, 5 et 7 voisins.

Après l'initialisation de GridSearchCV, entraînez-le avec .fit(X, y).

  • Le meilleur modèle (meilleur score de validation croisée) est accessible via .best_estimator_.
  • Le score de validation croisée correspondant peut être consulté 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

L'étape suivante consiste à utiliser le best_estimator_ et à l'entraîner sur l'ensemble du jeu de données, puisqu'il a déjà été identifié comme ayant les meilleurs paramètres. Cette étape est effectuée automatiquement par GridSearchCV.

En conséquence, l'objet grid_search devient lui-même un modèle entraîné avec les paramètres optimaux. Il peut être utilisé directement pour la prédiction et l'évaluation via les méthodes .predict() et .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) # 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

Une fois que vous avez entraîné un objet GridSearchCV, vous pouvez l'utiliser pour faire des prédictions en utilisant la méthode .predict(). Est-ce correct ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 6
some-alt