Automatizzare la scelta degli iperparametri
Trovare il miglior iperparametro d’interesse senza scrivere centinaia di righe di codice per centinaia di modelli è un importante guadagno di efficienza che ti aiuterà molto nelle future attività di costruzione di modelli di machine learning.
Un iperparametro importante per l’algoritmo GBM è il learning rate. Ma qual è il learning rate migliore per questo problema? Scrivendo un ciclo che esplori diverse possibilità, raccogliendo e visualizzando i risultati, puoi trovare quello ottimale.
Learning rate possibili da provare: 0.001, 0.01, 0.05, 0.1, 0.2 e 0.5.
Hai a disposizione gli insiemi di dati X_train, X_test, y_train e y_test, e GradientBoostingClassifier è già stato importato per te.
Questo esercizio fa parte del corso
Ottimizzazione degli iperparametri in Python
Istruzioni dell'esercizio
- Crea una lista
learning_ratesper i learning rate e unaresults_listper memorizzare l’accuracy delle tue previsioni. - Scrivi un ciclo per creare un modello GBM per ciascun learning rate indicato e genera le previsioni per ogni modello.
- Salva il learning rate e l’accuracy in
results_list. - Trasforma
results_listin un DataFrame e stampalo.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Set the learning rates & results storage
learning_rates = ____
results_list = ____
# Create the for loop to evaluate model predictions for each learning rate
for learning_rate in ____:
model = ____(learning_rate=____)
predictions = ____.fit(____, ____).predict(____)
# Save the learning rate and accuracy score
results_list.append([____, accuracy_score(y_test, ____)])
# Gather everything into a DataFrame
results_df = pd.DataFrame(____, columns=['learning_rate', 'accuracy'])
print(results_df)