IniziaInizia gratis

Impostare i parametri di GridSearch

Un iperparametro è un parametro all'interno di una funzione. Per esempio, max_depth o min_samples_leaf sono iperparametri della funzione DecisionTreeClassifier(). L’hyperparameter tuning è il processo con cui si testano diversi valori degli iperparametri per trovare quelli ottimali: quelli che forniscono le previsioni migliori in base ai tuoi obiettivi. In sklearn, puoi usare GridSearch per testare diverse combinazioni di iperparametri. Ancora meglio, puoi usare GridSearchCV() per testare diverse combinazioni ed eseguire la cross-validation su di esse in un’unica funzione!

In questo esercizio preparerai i diversi valori che vuoi testare per max_depth e min_samples_leaf. Li inserirai poi in un dizionario, perché è ciò che richiede GridSearchCV():

  • le chiavi del dizionario saranno i nomi degli iperparametri
  • i valori del dizionario saranno gli attributi (i valori degli iperparametri) che vuoi testare

Invece di scrivere tutti i valori manualmente, userai la funzione range(), che permette di generare valori in modo incrementale. Per esempio, range(1, 10, 2) genererà una lista con valori da 1 incluso a 10 escluso, con incrementi di 2. Quindi il risultato finale sarà [1, 3, 5, 7, 9].

Questo esercizio fa parte del corso

HR Analytics: prevedere l'abbandono dei dipendenti in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Seguendo il formato dell’esempio sopra, genera i valori per la profondità massima da 5 a 20 con incrementi di 1
  • Fai lo stesso per la dimensione minima del campione con valori da 50 a 450 con incrementi di 50
  • Crea il dizionario specificando i valori di max_depth e min_samples_leaf da provare, rispettivamente, usando le variabili che hai appena creato

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Generate values for maximum depth
depth = [i for i in ____(5,21,1)]

# Generate values for minimum sample size
samples = [i for i in range(____,500,____)]

# Create the dictionary with parameters to be checked
parameters = dict(max_depth=depth, min_samples_leaf=____)
Modifica ed esegui il codice