Zacznij terazZacznij za darmo

Wizualizacja podejścia Coarse to Fine

Wykonasz teraz pierwszą część wyszukiwania metodą Coarse to Fine. Polega ona na przeanalizowaniu wyników wstępnego losowego przeszukiwania przeprowadzonego w dużej przestrzeni hiperparametrów, a następnie zdecydowaniu, jaki byłby kolejny logiczny krok w celu zawężenia tego przeszukiwania.

Masz do dyspozycji:

  • combinations_list – lista możliwych kombinacji hiperparametrów użytych w losowym przeszukiwaniu.
  • results_df – DataFrame zawierający każdą kombinację hiperparametrów oraz wynikową dokładność dla wszystkich 500 prób. Każdy hiperparametr to osobna kolumna, a jej nagłówek to nazwa hiperparametru.
  • visualize_hyperparameter() – funkcja, która przyjmuje nazwę kolumny DataFrame (jako ciąg znaków) i generuje wykres punktowy porównujący wartości tej kolumny z wynikami dokładności. Przykładowe wywołanie: visualize_hyperparameter('accuracy')

Jeśli chcesz zobaczyć definicję funkcji visualize_hyperparameter(), uruchom poniższy kod:

import inspect
print(inspect.getsource(visualize_hyperparameter))

To ćwiczenie jest częścią kursu

Strojenie hiperparametrów w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Wyświetl (za pomocą print) rozmiar listy combinations_list, uzasadniając tym samym potrzebę rozpoczęcia od losowego przeszukiwania.
  • Posortuj results_df według wartości dokładności i wyświetl 10 najlepszych wierszy. Czy widać wyraźne wzorce? Pamiętaj o małej liczebności próby!
  • Wyświetl (za pomocą print), jakie hiperparametry zostały użyte w tym przeszukiwaniu. Są to nazwy kolumn w results_df.
  • Wywołaj visualize_hyperparameter() dla każdego hiperparametru po kolei (max_depth, min_samples_leaf, learn_rate). Czy zauważasz jakieś trendy?

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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(____)
Edytuj i uruchom kod