CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Créez une liste learning_rates pour les taux d'apprentissage, et une results_list pour 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)
Modifier et exécuter le code