Vizualizace přístupu Coarse to Fine
Pustíš se do první části vyhledávání metodou Coarse to Fine. To znamená, že nejprve analyzuješ výsledky úvodního náhodného vyhledávání provedeného nad velkým prohledávacím prostorem a pak rozhodneš, jaký bude logický další krok ke zpřesnění hledání hyperparametrů.
Máš k dispozici:
combinations_list– seznam možných kombinací hyperparametrů, nad kterými bylo náhodné vyhledávání provedeno.results_df– DataFrame obsahující každou kombinaci hyperparametrů a výslednou přesnost všech 500 pokusů. Každý hyperparametr je jeden sloupec, jehož záhlaví nese název daného hyperparametru.visualize_hyperparameter()– funkce, která přijme sloupec DataFramu (jako řetězec) a vytvoří bodový graf hodnot tohoto sloupce v porovnání se skóre přesnosti. Příklad volání funkce:visualize_hyperparameter('accuracy')
Pokud si chceš zobrazit definici funkce visualize_hyperparameter(), spusť tento kód:
import inspect
print(inspect.getsource(visualize_hyperparameter))
Toto cvičení je součástí kurzu
Hyperparameter Tuning in Python
Pokyny k cvičení
- Vypiš velikost
combinations_list, čímž potvrdíš, proč má smysl začít náhodným vyhledáváním. - Seřaď
results_dfpodle hodnot přesnosti a vypiš prvních 10 řádků. Jsou z toho patrné nějaké závěry? Pozor na malý vzorek dat! - Vypiš, které hyperparametry byly v tomto vyhledávání použity. Jsou to názvy sloupců v
results_df. - Zavolej
visualize_hyperparameter()postupně pro každý hyperparametr (max_depth,min_samples_leaf,learn_rate). Dají se v datech vysledovat nějaké trendy?
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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(____)