Coarse to Fine visualiseren
Je gaat het eerste deel van een Coarse to Fine-zoektocht uitvoeren. Dit houdt in dat je de resultaten analyseert van een eerste random search over een grote zoekruimte en vervolgens beslist wat de volgende logische stap is om je hyperparameter search verfijnder te maken.
Je hebt beschikbaar:
combinations_list- een lijst met de mogelijke hyperparametercombinaties waarop de random search is uitgevoerd.results_df- een DataFrame met elke hyperparametercombinatie en de resulterende nauwkeurigheid van alle 500 pogingen. Elke hyperparameter is een kolom, met als kop de hyperparameternaam.visualize_hyperparameter()- een functie die een kolom van de DataFrame (als string) inneemt en een scatterplot maakt van de waarden in deze kolom ten opzichte van de accuracy-scores. Een voorbeeldaanroep van de functie isvisualize_hyperparameter('accuracy')
Als je de definitie van visualize_hyperparameter() wilt bekijken, kun je deze code uitvoeren:
import inspect
print(inspect.getsource(visualize_hyperparameter))
Deze oefening maakt deel uit van de cursus
Hyperparameter Tuning in Python
Oefeninstructies
- Bevestig (door het uit te printen) de grootte van
combinations_listom te onderbouwen waarom je met een random search begint. - Sorteer
results_dfop accuracy-waarden en print de bovenste 10 rijen. Zijn er duidelijke inzichten? Pas op voor een kleine steekproef! - Bevestig (door het uit te printen) welke hyperparameters in deze search zijn gebruikt. Dit zijn de kolomnamen in
results_df. - Roep
visualize_hyperparameter()aan met elke hyperparameter om de beurt (max_depth,min_samples_leaf,learn_rate). Zie je trends?
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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(____)