Vizualizarea căutării de la Grosier la Fin
Vei parcurge prima etapă a unei căutări de tip Coarse to Fine. Aceasta presupune analizarea rezultatelor unei căutări aleatoare inițiale desfășurate pe un spațiu de căutare extins, urmată de identificarea pașilor logici care te vor ajuta să rafinezi căutarea hiperparametrilor.
Ai la dispoziție:
combinations_list– o listă cu toate combinațiile posibile de hiperparametri pe care a fost efectuată căutarea aleatoare.results_df– un DataFrame care conține fiecare combinație de hiperparametri și acuratețea corespunzătoare pentru toate cele 500 de teste. Fiecare hiperparametru este o coloană, cu numele hiperparametrului ca antet.visualize_hyperparameter()– o funcție care primește o coloană din DataFrame (ca șir de caractere) și generează un grafic scatter al valorilor acelei coloane comparativ cu scorurile de acuratețe. Un exemplu de apel al funcției ar fivisualize_hyperparameter('accuracy')
Dacă dorești să vizualizezi definiția funcției visualize_hyperparameter(), poți rula acest cod:
import inspect
print(inspect.getsource(visualize_hyperparameter))
Acest exercițiu face parte din cursul
Ajustarea hiperparametrilor în Python
Instrucțiuni pentru exercițiu
- Confirmă (prin afișare) dimensiunea listei
combinations_list, justificând astfel necesitatea de a începe cu o căutare aleatoare. - Sortează
results_dfdupă valorile de acuratețe și afișează primele 10 rânduri. Există concluzii clare? Atenție la dimensiunea redusă a eșantionului! - Confirmă (prin afișare) care hiperparametri au fost utilizați în această căutare. Aceștia sunt numele coloanelor din
results_df. - Apelează
visualize_hyperparameter()pentru fiecare hiperparametru pe rând (max_depth,min_samples_leaf,learn_rate). Observi vreun trend?
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(____)