 Défi : Choix de la Meilleure Valeur de K
Défi : Choix de la Meilleure Valeur de K
Comme montré dans les chapitres précédents, les prédictions du modèle peuvent varier en fonction de la valeur de k (le nombre de voisins). Lors de la construction d’un modèle k-NN, il est important de choisir la valeur de k qui offre les meilleures performances.
Une approche courante consiste à utiliser la validation croisée pour évaluer les performances du modèle. Il est possible d’exécuter une boucle et de calculer les scores de validation croisée pour un ensemble de valeurs de k, puis de sélectionner celle qui obtient le meilleur score. Il s’agit de la méthode la plus largement utilisée.
Pour réaliser cela, sklearn propose un outil pratique : la classe GridSearchCV.
Le paramètre param_grid prend un dictionnaire dont les clés sont les noms des paramètres et les valeurs sont des listes d’options à tester. Par exemple, pour tester les valeurs de 1 à 99 pour n_neighbors, on peut écrire :
param_grid = {'n_neighbors': range(1, 100)}
L’appel de la méthode .fit(X, y) sur l’objet GridSearchCV va parcourir la grille de paramètres pour trouver les meilleurs paramètres puis réentraîner le modèle sur l’ensemble du jeu de données en utilisant ces meilleurs paramètres.
Il est possible d’accéder au meilleur score via l’attribut .best_score_ et de faire des prédictions avec le modèle optimisé en utilisant la méthode .predict(). De même, il est possible de récupérer le meilleur modèle lui-même via l’attribut .best_estimator_.
Swipe to start coding
Vous disposez du jeu de données Star Wars ratings stocké sous forme de DataFrame dans la variable df.
- Initialisez param_gridcomme un dictionnaire contenant le paramètren_neighborsavec les valeurs[3, 9, 18, 27].
- Créez un objet GridSearchCVen utilisantparam_gridavec une validation croisée à 4 plis, entraînez-le et stockez-le dans la variablegrid_search.
- Récupérez le meilleur modèle à partir de grid_searchet stockez-le dans la variablebest_model.
- Récupérez le score du meilleur modèle et stockez-le dans la variable best_score.
Solution
Merci pour vos commentaires !
single
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 4.17 Défi : Choix de la Meilleure Valeur de K
Défi : Choix de la Meilleure Valeur de K
Glissez pour afficher le menu
Comme montré dans les chapitres précédents, les prédictions du modèle peuvent varier en fonction de la valeur de k (le nombre de voisins). Lors de la construction d’un modèle k-NN, il est important de choisir la valeur de k qui offre les meilleures performances.
Une approche courante consiste à utiliser la validation croisée pour évaluer les performances du modèle. Il est possible d’exécuter une boucle et de calculer les scores de validation croisée pour un ensemble de valeurs de k, puis de sélectionner celle qui obtient le meilleur score. Il s’agit de la méthode la plus largement utilisée.
Pour réaliser cela, sklearn propose un outil pratique : la classe GridSearchCV.
Le paramètre param_grid prend un dictionnaire dont les clés sont les noms des paramètres et les valeurs sont des listes d’options à tester. Par exemple, pour tester les valeurs de 1 à 99 pour n_neighbors, on peut écrire :
param_grid = {'n_neighbors': range(1, 100)}
L’appel de la méthode .fit(X, y) sur l’objet GridSearchCV va parcourir la grille de paramètres pour trouver les meilleurs paramètres puis réentraîner le modèle sur l’ensemble du jeu de données en utilisant ces meilleurs paramètres.
Il est possible d’accéder au meilleur score via l’attribut .best_score_ et de faire des prédictions avec le modèle optimisé en utilisant la méthode .predict(). De même, il est possible de récupérer le meilleur modèle lui-même via l’attribut .best_estimator_.
Swipe to start coding
Vous disposez du jeu de données Star Wars ratings stocké sous forme de DataFrame dans la variable df.
- Initialisez param_gridcomme un dictionnaire contenant le paramètren_neighborsavec les valeurs[3, 9, 18, 27].
- Créez un objet GridSearchCVen utilisantparam_gridavec une validation croisée à 4 plis, entraînez-le et stockez-le dans la variablegrid_search.
- Récupérez le meilleur modèle à partir de grid_searchet stockez-le dans la variablebest_model.
- Récupérez le score du meilleur modèle et stockez-le dans la variable best_score.
Solution
Merci pour vos commentaires !
single