Esplorare i risultati della grid search
Ora esplorerai la proprietà cv_results_ dell'oggetto GridSearchCV definito nel video. È un dizionario che possiamo leggere in un DataFrame di pandas e contiene molte informazioni utili sulla grid search che abbiamo appena eseguito.
Un promemoria dei diversi tipi di colonne in questa proprietà:
- colonne
time_ - colonne
param_(una per ogni iperparametro) e l'unica colonnaparams(con tutte le impostazioni degli iperparametri) - una colonna
train_scoreper ogni fold della cv, incluse le colonnemean_train_scoreestd_train_score - una colonna
test_scoreper ogni fold della cv, incluse le colonnemean_test_scoreestd_test_score - una colonna
rank_test_scorecon un numero da 1 a n (numero di iterazioni) che ordina le righe in base al loromean_test_score
Questo esercizio fa parte del corso
Ottimizzazione degli iperparametri in Python
Istruzioni dell'esercizio
- Leggi la proprietà
cv_results_dell'oggetto GridSearchCVgrid_rf_classin un DataFrame e stampalo interamente per ispezionarlo. - Estrai e stampa la colonna singolare che contiene un dizionario di tutti gli iperparametri usati in ciascuna iterazione della grid search.
- Estrai e stampa la riga che ha avuto il miglior mean test score indicizzando tramite la colonna
rank_test_score.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)