IniziaInizia gratis

Visualizzare Coarse to Fine

Stai per affrontare la prima parte di una ricerca Coarse to Fine. Questo comporta l'analisi dei risultati di una ricerca casuale iniziale effettuata su uno spazio di ricerca ampio, per poi decidere qual è il passo successivo più logico per rendere più fine la tua ricerca di iperparametri.

Hai a disposizione:

  • combinations_list - un elenco delle possibili combinazioni di iperparametri su cui è stata effettuata la random search.
  • results_df - un DataFrame che contiene ogni combinazione di iperparametri e la conseguente accuratezza di tutti i 500 tentativi. Ogni iperparametro è una colonna, con come intestazione il nome dell'iperparametro.
  • visualize_hyperparameter() - una funzione che prende in input una colonna del DataFrame (come stringa) e produce uno scatter plot dei valori di quella colonna rispetto ai punteggi di accuratezza. Un esempio di chiamata della funzione è visualize_hyperparameter('accuracy')

Se vuoi vedere la definizione della funzione visualize_hyperparameter(), puoi eseguire questo codice:

import inspect
print(inspect.getsource(visualize_hyperparameter))

Questo esercizio fa parte del corso

Ottimizzazione degli iperparametri in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Conferma (stampandola) la dimensione di combinations_list, giustificando la necessità di iniziare con una ricerca casuale.
  • Ordina results_df in base ai valori di accuratezza e stampa le prime 10 righe. Ci sono intuizioni chiare? Attenzione alla dimensione ridotta del campione!
  • Conferma (stampandoli) quali iperparametri sono stati usati in questa ricerca. Sono i nomi delle colonne in results_df.
  • Chiama visualize_hyperparameter() a turno con ciascun iperparametro (max_depth, min_samples_leaf, learn_rate). Noti qualche trend?

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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(____)
Modifica ed esegui il codice