Analizar los mejores resultados
Al final, lo que más nos importa es el "cuadrado" con mejor rendimiento en una grid search. Por suerte, los objetos gridSearchCv de Scikit Learn tienen varios parámetros que proporcionan información clave solo sobre el mejor cuadrado (o fila en cv_results_).
Tres propiedades que vas a explorar son:
best_score_– La puntuación (aquí ROC_AUC) del cuadrado con mejor rendimiento.best_index_– El índice de la fila encv_results_que contiene la información del cuadrado con mejor rendimiento.best_params_– Un diccionario con los parámetros que dieron la mejor puntuación, por ejemplo'max_depth': 10
Tienes disponible el objeto de grid search grid_rf_class.
En la línea 6 se ha creado un dataframe (cv_results_df) a partir de cv_results_. Esto te ayudará a indexar en los resultados.
Este ejercicio forma parte del curso
Ajuste de hiperparámetros en Python
Instrucciones del ejercicio
- Extrae e imprime la puntuación ROC_AUC del cuadrado con mejor rendimiento en
grid_rf_class. - Crea una variable de la fila con mejor rendimiento indexando en
cv_results_df. - Crea una variable,
best_n_estimators, extrayendo el parámetron_estimatorsdel cuadrado con mejor rendimiento engrid_rf_classe imprímelo.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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)