Analyser les meilleurs résultats
Au final, ce qui nous importe surtout, c’est le « carré » le plus performant d’une grid search. Heureusement, les objets gridSearchCv de Scikit Learn proposent plusieurs attributs qui donnent les informations clés uniquement sur le meilleur carré (ou la ligne dans cv_results_).
Trois propriétés que vous allez explorer :
best_score_– Le score (ici ROC_AUC) du carré le plus performant.best_index_– L’indice de la ligne danscv_results_qui contient les informations sur le carré le plus performant.best_params_– Un dictionnaire des hyperparamètres ayant donné le meilleur score, par exemple'max_depth': 10
L’objet de grid search grid_rf_class est disponible.
Un dataframe (cv_results_df) a été créé à partir de cv_results_ pour vous à la ligne 6. Cela vous aidera à indexer les résultats.
Cet exercice fait partie du cours
Optimisation des hyperparamètres en Python
Instructions
- Extrayez et affichez le score ROC_AUC du carré le plus performant dans
grid_rf_class. - Créez une variable à partir de la ligne la plus performante en indexant dans
cv_results_df. - Créez une variable
best_n_estimatorsen extrayant l’hyperparamètren_estimatorsdu carré le plus performant dansgrid_rf_classet affichez-la.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Print out the ROC_AUC score from the best-performing square
best_score = grid_rf_class._____
print(best_score)
# Create a variable from the row related to the best-performing square
cv_results_df = pd.DataFrame(grid_rf_class.cv_results_)
best_row = cv_results_df.loc[[grid_rf_class.____]]
print(best_row)
# Get the n_estimators parameter from the best-performing square and print
best_n_estimators = grid_rf_class.____["_____"]
print(best_n_estimators)