Exploiter les meilleurs résultats
Analyser les résultats d’une grid search est intéressant, mais notre objectif final est pratique : nous voulons faire des prédictions sur notre jeu de test avec notre objet estimateur.
Nous pouvons accéder à cet objet via la propriété best_estimator_ de notre objet de grid search.
Voyons ce que contient la propriété best_estimator_, faisons des prédictions et générons des métriques d’évaluation. Nous utiliserons d’abord la méthode par défaut predict (qui renvoie des classes), puis nous devrons utiliser predict_proba plutôt que predict pour calculer le score roc-auc, car roc-auc a besoin de probabilités. Nous utiliserons la tranche [:,1] pour obtenir les probabilités de la classe positive.
Vous disposez des jeux de données X_test et y_test, ainsi que de l’objet grid_rf_class des exercices précédents.
Cet exercice fait partie du cours
Optimisation des hyperparamètres en Python
Instructions
- Vérifiez le type de la propriété
best_estimator_. - Utilisez la propriété
best_estimator_pour faire des prédictions sur notre jeu de test. - Générez une matrice de confusion et un score ROC_AUC à partir de nos prédictions.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# See what type of object the best_estimator_ property is
print(____(____.____))
# Create an array of predictions directly using the best_estimator_ property
predictions = grid_rf_class.____._____(X_test)
# Take a look to confirm it worked, this should be an array of 1's and 0's
print(predictions[0:5])
# Now create a confusion matrix
print("Confusion Matrix \n", confusion_matrix(y_test, ______))
# Get the ROC-AUC score
predictions_proba = grid_rf_class.best_estimator_.predict_proba(X_test)[:,1]
print("ROC-AUC Score \n", roc_auc_score(y_test, _____))