Analizzare i risultati migliori
Alla fine, ciò che ci interessa davvero è il 'quadrato' con le prestazioni migliori in una grid search. Per fortuna gli oggetti gridSearchCv di Scikit Learn hanno diversi parametri che forniscono informazioni chiave solo sul quadrato migliore (o sulla riga in cv_results_).
Tre proprietà che esplorerai sono:
best_score_– Lo score (qui ROC_AUC) del quadrato con le prestazioni migliori.best_index_– L'indice della riga incv_results_che contiene le informazioni sul quadrato con le prestazioni migliori.best_params_– Un dizionario dei parametri che hanno dato lo score migliore, ad esempio'max_depth': 10
L'oggetto di grid search grid_rf_class è disponibile.
Un dataframe (cv_results_df) è stato creato a partire da cv_results_ per te alla riga 6. Questo ti aiuterà a indicizzare i risultati.
Questo esercizio fa parte del corso
Ottimizzazione degli iperparametri in Python
Istruzioni dell'esercizio
- Estrai e stampa lo score ROC_AUC del quadrato con le prestazioni migliori in
grid_rf_class. - Crea una variabile dalla riga con le prestazioni migliori indicizzando
cv_results_df. - Crea una variabile,
best_n_estimators, estraendo il parametron_estimatorsdal quadrato con le prestazioni migliori ingrid_rf_classe stampala.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)