Hyperparameterkeuze automatiseren
De beste hyperparameter vinden zonder honderden regels code te schrijven voor honderden modellen levert een belangrijke efficiencyslag op die je toekomstige Machine Learning-modellen sterk zal helpen.
Een belangrijke hyperparameter voor het GBM-algoritme is de learning rate. Maar welke learning rate is hier het beste? Door een lus te schrijven die verschillende mogelijkheden doorzoekt, deze te bundelen en te bekijken, kun je de beste vinden.
Mogelijke learning rates om te proberen zijn 0.001, 0.01, 0.05, 0.1, 0.2 en 0.5
Je krijgt X_train, X_test, y_train en y_test beschikbaar, en GradientBoostingClassifier is al voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Hyperparameter Tuning in Python
Oefeninstructies
- Maak een lijst
learning_ratesvoor de learning rates en eenresults_listom de nauwkeurigheidsscore van je voorspellingen in op te slaan. - Schrijf een lus die voor elke genoemde learning rate een GBM-model maakt en voor elk model voorspellingen genereert.
- Sla de learning rate en de nauwkeurigheidsscore op in
results_list. - Zet de resultatenlijst om in een DataFrame en print deze uit.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)