Automatiser le choix des hyperparamètres
Trouver le meilleur hyperparamètre qui vous intéresse sans écrire des centaines de lignes de code pour des centaines de modèles est un gain d'efficacité important qui vous aidera grandement dans vos futurs travaux de Machine Learning.
Un hyperparamètre important pour l'algorithme GBM est le taux d'apprentissage (learning rate). Mais quel taux convient le mieux à ce problème? En écrivant une boucle pour parcourir plusieurs possibilités, les regrouper et les visualiser, vous pouvez trouver le meilleur.
Les taux d'apprentissage possibles à essayer incluent 0,001, 0,01, 0,05, 0,1, 0,2 et 0,5.
Vous avez à votre disposition les jeux de données X_train, X_test, y_train et y_test, et GradientBoostingClassifier a été importé pour vous.
Cette activité fait partie du cours
Ajustement des hyperparamètres en Python
Instructions de l’exercice
- Créez une liste
learning_ratespour les taux d'apprentissage, et uneresults_listpour conserver la précision (accuracy) de vos prédictions. - Écrivez une boucle qui crée un modèle GBM pour chacun des taux d'apprentissage mentionnés et génère des prédictions pour chaque modèle.
- Enregistrez le taux d'apprentissage et la précision dans une
results_list. - Convertissez la liste des résultats en DataFrame et affichez-la.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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)