Visualizando Coarse to Fine
Você vai realizar a primeira parte de uma busca Coarse to Fine. Isso envolve analisar os resultados de uma busca aleatória inicial feita em um espaço de busca amplo e, em seguida, decidir qual seria o próximo passo lógico para deixar sua busca de hiperparâmetros mais refinada.
Você tem disponível:
combinations_list- uma lista das possíveis combinações de hiperparâmetros em que a busca aleatória foi realizada.results_df- um DataFrame que contém cada combinação de hiperparâmetros e a acurácia resultante de todos os 500 testes. Cada hiperparâmetro é uma coluna, cujo cabeçalho é o nome do hiperparâmetro.visualize_hyperparameter()- uma função que recebe uma coluna do DataFrame (como string) e produz um gráfico de dispersão dos valores dessa coluna em comparação com as pontuações de acurácia. Uma chamada de exemplo da função seriavisualize_hyperparameter('accuracy')
Se quiser ver a definição da função visualize_hyperparameter(), você pode executar este código:
import inspect
print(inspect.getsource(visualize_hyperparameter))
Este exercício faz parte do curso
Ajuste de Hiperparâmetros em Python
Instruções do exercício
- Confirme (imprimindo) o tamanho de
combinations_list, justificando a necessidade de começar com uma busca aleatória. - Ordene
results_dfpelos valores de acurácia e imprima as 10 primeiras linhas. Há algum insight claro? Cuidado com o tamanho pequeno da amostra! - Confirme (imprimindo) quais hiperparâmetros foram usados nesta busca. São os nomes das colunas em
results_df. - Chame
visualize_hyperparameter()para cada hiperparâmetro, por sua vez (max_depth,min_samples_leaf,learn_rate). Há alguma tendência?
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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(____)