Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Défi : Réglage des Hyperparamètres avec RandomizedSearchCV | Modélisation
Quizzes & Challenges
Quizzes
Challenges
/
Introduction à l'Apprentissage Automatique avec Python

bookDéfi : Réglage des Hyperparamètres avec RandomizedSearchCV

Le principe de RandomizedSearchCV est similaire à celui de GridSearchCV, mais au lieu de tester toutes les combinaisons possibles, il évalue uniquement un sous-ensemble échantillonné aléatoirement.

Par exemple, le param_grid suivant contient 100 combinaisons :

param_grid = {
    'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
    'weights': ['distance', 'uniform'],
    'p': [1, 2, 3, 4, 5]
}

GridSearchCV testerait toutes les 100, ce qui est chronophage. RandomizedSearchCV peut à la place évaluer un sous-ensemble plus petit, par exemple 20 combinaisons choisies aléatoirement. Cela réduit le temps de calcul et produit généralement des résultats proches des meilleurs.

Le nombre de combinaisons à tester est contrôlé par l’argument n_iter (la valeur par défaut est 10). À part cela, l’utilisation est identique à celle de GridSearchCV.

Tâche

Swipe to start coding

Un jeu de données de manchots prétraité vous est fourni, prêt pour l'entraînement du modèle. Votre objectif est d’ajuster les hyperparamètres d’un modèle KNeighborsClassifier en utilisant à la fois les méthodes de recherche par grille et de recherche aléatoire.

  1. Définir la grille de paramètres nommée param_grid avec les valeurs souhaitées pour n_neighbors, weights et p.
  2. Initialiser un objet RandomizedSearchCV en utilisant la grille de paramètres définie, avec n_iter=20.
  3. Initialiser un objet GridSearchCV en utilisant la même grille de paramètres.
  4. Entraîner les deux objets de recherche sur le jeu de données à l’aide de la méthode .fit(X, y).
  5. Afficher le meilleur estimateur issu de la recherche par grille à l’aide de .best_estimator_.
  6. Afficher le meilleur score de validation croisée issu de la recherche aléatoire à l’aide de .best_score_.

Solution

Note
Remarque

Vous pouvez essayer d’exécuter le code plusieurs fois. Observez la différence entre les deux scores. Parfois, les scores peuvent être identiques en raison de la présence des meilleurs paramètres parmi les combinaisons échantillonnées par RandomizedSearchCV.

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 8
single

single

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

close

Awesome!

Completion rate improved to 3.13

bookDéfi : Réglage des Hyperparamètres avec RandomizedSearchCV

Glissez pour afficher le menu

Le principe de RandomizedSearchCV est similaire à celui de GridSearchCV, mais au lieu de tester toutes les combinaisons possibles, il évalue uniquement un sous-ensemble échantillonné aléatoirement.

Par exemple, le param_grid suivant contient 100 combinaisons :

param_grid = {
    'n_neighbors': [1, 3, 5, 7, 9, 12, 15, 17, 20, 25],
    'weights': ['distance', 'uniform'],
    'p': [1, 2, 3, 4, 5]
}

GridSearchCV testerait toutes les 100, ce qui est chronophage. RandomizedSearchCV peut à la place évaluer un sous-ensemble plus petit, par exemple 20 combinaisons choisies aléatoirement. Cela réduit le temps de calcul et produit généralement des résultats proches des meilleurs.

Le nombre de combinaisons à tester est contrôlé par l’argument n_iter (la valeur par défaut est 10). À part cela, l’utilisation est identique à celle de GridSearchCV.

Tâche

Swipe to start coding

Un jeu de données de manchots prétraité vous est fourni, prêt pour l'entraînement du modèle. Votre objectif est d’ajuster les hyperparamètres d’un modèle KNeighborsClassifier en utilisant à la fois les méthodes de recherche par grille et de recherche aléatoire.

  1. Définir la grille de paramètres nommée param_grid avec les valeurs souhaitées pour n_neighbors, weights et p.
  2. Initialiser un objet RandomizedSearchCV en utilisant la grille de paramètres définie, avec n_iter=20.
  3. Initialiser un objet GridSearchCV en utilisant la même grille de paramètres.
  4. Entraîner les deux objets de recherche sur le jeu de données à l’aide de la méthode .fit(X, y).
  5. Afficher le meilleur estimateur issu de la recherche par grille à l’aide de .best_estimator_.
  6. Afficher le meilleur score de validation croisée issu de la recherche aléatoire à l’aide de .best_score_.

Solution

Note
Remarque

Vous pouvez essayer d’exécuter le code plusieurs fois. Observez la différence entre les deux scores. Parfois, les scores peuvent être identiques en raison de la présence des meilleurs paramètres parmi les combinaisons échantillonnées par RandomizedSearchCV.

Switch to desktopPassez à un bureau pour une pratique réelleContinuez d'où vous êtes en utilisant l'une des options ci-dessous
Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 4. Chapitre 8
single

single

some-alt