Campiona casualmente gli iperparametri
Per eseguire una random search, dobbiamo prima effettuare un campionamento casuale dello spazio degli iperparametri.
In questo esercizio, prima creerai alcune liste di iperparametri che potrai unire (zip) in una lista di liste. Poi estrarrai casualmente combinazioni di iperparametri per prepararti a lanciare una random search.
Userai solo gli iperparametri learning_rate e min_samples_leaf dell'algoritmo GBM, così l'esempio resta chiaro e non troppo complesso.
Questo esercizio fa parte del corso
Ottimizzazione degli iperparametri in Python
Istruzioni dell'esercizio
- Crea una lista di 200 valori per l'iperparametro
learning_ratecompresi tra 0.01 e 1.5 e assegnala alla listalearn_rate_list. - Crea una lista di valori tra 10 e 40 inclusi per l'iperparametro
min_samples_leafe assegnala alla listamin_samples_list. - Combina queste liste in una lista di liste da cui campionare.
- Estrai casualmente 250 modelli da queste combinazioni di iperparametri e stampa il risultato.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Create a list of values for the learning_rate hyperparameter
learn_rate_list = list(np.____(____,____,____))
# Create a list of values for the min_samples_leaf hyperparameter
min_samples_list = list(____(____,____))
# Combination list
combinations_list = [list(x) for x in ____(____, min_samples_list)]
# Sample hyperparameter combinations for a random search.
random_combinations_index = np.____(range(0, len(____)), ____, replace=False)
combinations_random_chosen = [combinations_list[x] for x in ____]
# Print the result
print(____)