sklearn get best estimator ?
- Street: Zone Z
- City: forum
- State: Florida
- Country: Afghanistan
- Zip/Postal Code: Commune
- Listed: 10 January 2023 1 h 28 min
- Expires: This ad has expired
Description
sklearn get best estimator ?
### Comment Obtenir le Meilleur Estimateur avec Scikit-Learn ?
Dans le cadre du machine learning, l’optimisation des hyperparamètres est une étape cruciale pour améliorer les performances des modèles. Scikit-learn propose une classe pratique appelée `GridSearchCV` qui permet de rechercher automatiquement les meilleurs hyperparamètres pour un estimateur donné. Mais comment récupérer le meilleur estimateur une fois la recherche terminée ? Dans cet article, nous allons explorer les différentes façons de récupérer le meilleur estimateur et ses paramètres avec `GridSearchCV`.
—
#### 1. Qu’est-ce que GridSearchCV ?
`GridSearchCV` est une classe de recherche de grille dans scikit-learn qui effectue une validation croisée pour évaluer les performances d’un estimateur sur une grille de paramètres. Elle retourne l’estimateur qui obtient les meilleurs résultats selon les critères spécifiés.
—
#### 2. Récupérer le Meilleur Estimateur
Une fois que vous avez entraîné un objet `GridSearchCV`, vous pouvez accéder au meilleur estimateur à travers l’attribut `best_estimator_`. Cet attribut contient l’instance de l’estimateur qui a été entraînée sur l’ensemble des données avec les meilleurs paramètres trouvés.
**Exemple de code :**
“`python
from sklearn.model_selection import GridSearchCV
from sklearn.ensemble import RandomForestClassifier
from sklearn.datasets import load_iris
# Chargement du jeu de données
iris = load_iris()
X = iris.data
y = iris.target
# Définition de la grille de paramètres
param_grid = {
‘n_estimators’: [10, 50, 100],
‘max_depth’: [None, 5, 10],
}
# Initialisation de l’estimateur
rf = RandomForestClassifier(random_state=42)
# Recherche de grille avec validation croisée
grid_search = GridSearchCV(estimator=rf, param_grid=param_grid, cv=5)
grid_search.fit(X, y)
# Récupération du meilleur estimateur
best_estimator = grid_search.best_estimator_
print(“Meilleur estimateur :”, best_estimator)
“`
—
#### 3. Récupérer les Meilleurs Paramètres
En plus de l’estimateur lui-même, vous pouvez récupérer les meilleurs paramètres utilisés pour l’entraînement. Ces paramètres sont stockés dans l’attribut `best_params_`.
**Exemple :**
“`python
print(“Meilleurs paramètres :”, grid_search.best_params_)
“`
—
#### 4. Récupérer le Meilleur Score
Vous pouvez également récupérer le score associé au meilleur estimateur en utilisant l’attribut `best_score_`. Ce score est calculé pendant la validation croisée.
**Exemple :**
“`python
print(“Meilleur score :”, grid_search.best_score_)
“`
—
#### 5. Utiliser le Meilleur Estimateur pour Prédire
Une fois que vous avez récupéré le meilleur estimateur, vous pouvez l’utiliser pour faire des prédictions sur de nouvelles données.
**Exemple :**
“`python
# Prédiction avec le meilleur estimateur
nouvelles_donnees = [[5.1, 3.5, 1.4, 0.2]] # Exemple de données
prediction = best_estimator.predict(nouvelles_donnees)
print(“Prédiction :”, prediction)
“`
—
#### 6. Utiliser GridSearchCV avec des Pipelines
Si vous utilisez des pipelines pour enchaîner des étapes de prétraitement et de modélisation, `GridSearchCV` peut être intégré de la même manière. Les paramètres des différentes étapes peuvent être spécifiés dans la grille de recherche.
**Exemple :**
“`python
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC
# Création d’un pipeline
pipe = Pipeline([
(‘scaler’, StandardScaler()),
(‘svm’, SVC())
])
# Définition de la grille de paramètres
param_grid = {
‘scaler__with_mean’: [True, False],
‘svm__C’: [1, 10, 100],
}
# Recherche de grille
grid_search = GridSearchCV(estimator=pipe, param_grid=param_grid, cv=5)
grid_search.fit(X, y)
# Récupération du meilleur estimateur
best_estimator = grid_search.best_estimator_
“`
—
#### 7. Conseils Pratiques
– **Refit** : Assurez-vous que le paramètre `refit` est défini à `True` (valeur par défaut) pour que `GridSearchCV` réentraîne l’estimateur sur l’ensemble des données avec les meilleurs paramètres.
– **Validation Croisée** : Utilisez la validation croisée (`cv`) pour évaluer les performances de manière plus robuste.
– **Score** : Spécifiez un score de validation approprié en utilisant le paramètre `scoring` si nécessaire.
—
#### Conclusion
En résumé, `GridSearchCV` est un outil puissant pour optimiser les hyperparamètres de vos estimateurs. Une fois la recherche terminée, vous pouvez facilement récupérer le meilleur estimateur, ses paramètres et son score grâce aux attributs `best_estimator_`, `best_params_` et `best_score_`. N’oubliez pas de réutiliser ce meilleur estimateur pour vos prédictions finales.
172 total views, 1 today
Recent Comments