Explorer les résultats de la recherche exhaustive (grid search)
Vous allez maintenant explorer la propriété cv_results_ de l'objet GridSearchCV défini dans la vidéo. Il s'agit d'un dictionnaire que l'on peut charger dans un DataFrame pandas et qui contient beaucoup d'information utile sur la recherche exhaustive que nous venons d'effectuer.
Rappel des différents types de colonnes dans cette propriété :
- Colonnes
time_ - Colonnes
param_(une par hyperparamètre) et la colonne uniqueparams(avec tous les réglages d'hyperparamètres) - Une colonne
train_scorepour chaque pli de validation croisée, ainsi que les colonnesmean_train_scoreetstd_train_score - Une colonne
test_scorepour chaque pli de validation croisée, ainsi que les colonnesmean_test_scoreetstd_test_score - Une colonne
rank_test_scoreavec un nombre de 1 à n (nombre d'itérations) qui classe les lignes selon leurmean_test_score
Cette activité fait partie du cours
Ajustement des hyperparamètres en Python
Instructions de l’exercice
- Lisez la propriété
cv_results_de l'objet GridSearchCVgrid_rf_classdans un DataFrame et affichez-le au complet pour l'inspecter. - Extrayez et affichez la colonne unique qui contient un dictionnaire de tous les hyperparamètres utilisés à chaque itération de la recherche exhaustive.
- Extrayez et affichez la ligne qui a obtenu la meilleure moyenne du score de test en indexant avec la colonne
rank_test_score.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Read the cv_results property into a dataframe & print it out
cv_results_df = pd.DataFrame(grid_rf_class.____)
print(____)
# Extract and print the column with a dictionary of hyperparameters used
column = cv_results_df.loc[:, [____]]
print(____)
# Extract and print the row that had the best mean test score
best_row = cv_results_df[cv_results_df[____] == ____ ]
print(best_row)