Visualizar Coarse to Fine
Vas a realizar la primera parte de una búsqueda Coarse to Fine. Esto implica analizar los resultados de una búsqueda aleatoria inicial realizada sobre un espacio de búsqueda amplio y, después, decidir cuál sería el siguiente paso lógico para refinar la búsqueda de hiperparámetros.
Tienes disponible:
combinations_list: una lista con las posibles combinaciones de hiperparámetros sobre las que se hizo la búsqueda aleatoria.results_df: un DataFrame que contiene cada combinación de hiperparámetros y la precisión obtenida en los 500 ensayos. Cada hiperparámetro es una columna, cuyo encabezado es el nombre del hiperparámetro.visualize_hyperparameter(): una función que recibe el nombre de una columna del DataFrame (como cadena) y genera un diagrama de dispersión comparando los valores de esa columna con las puntuaciones de precisión. Un ejemplo de llamada seríavisualize_hyperparameter('accuracy')
Si quieres ver la definición de la función visualize_hyperparameter(), puedes ejecutar este código:
import inspect
print(inspect.getsource(visualize_hyperparameter))
Este ejercicio forma parte del curso
Ajuste de hiperparámetros en Python
Instrucciones del ejercicio
- Confirma (imprimiéndolo) el tamaño de
combinations_list, justificando la necesidad de empezar con una búsqueda aleatoria. - Ordena
results_dfpor los valores de precisión y muestra las 10 primeras filas. ¿Hay conclusiones claras? ¡Cuidado con el tamaño de la muestra! - Confirma (imprimiéndolo) qué hiperparámetros se usaron en esta búsqueda. Son los nombres de columna de
results_df. - Llama a
visualize_hyperparameter()con cada hiperparámetro por turno (max_depth,min_samples_leaf,learn_rate). ¿Ves alguna tendencia?
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Confirm the size of the combinations_list
print(____(____))
# Sort the results_df by accuracy and print the top 10 rows
print(results_df.____(by=____, ascending=False).head(____))
# Confirm which hyperparameters were used in this search
print(results_df.____)
# Call visualize_hyperparameter() with each hyperparameter in turn
visualize_hyperparameter(____)
visualize_hyperparameter(____)
visualize_hyperparameter(____)