CommencerCommencer gratuitement

Automatiser le choix des hyperparamètres

Trouver le meilleur hyperparamètre sans écrire des centaines de lignes de code pour des centaines de modèles est un gain d’efficacité précieux qui vous aidera grandement à construire vos futurs modèles de Machine Learning.

Un hyperparamètre important pour l’algorithme GBM est le taux d’apprentissage (learning rate). Mais lequel convient le mieux à ce problème ? En écrivant une boucle pour tester plusieurs valeurs, en rassemblant les résultats et en les visualisant, vous pouvez identifier la meilleure.

Les taux d’apprentissage possibles à tester sont 0.001, 0.01, 0.05, 0.1, 0.2 et 0.5

Vous disposez des jeux de données X_train, X_test, y_train et y_test, et GradientBoostingClassifier a été importé pour vous.

Cet exercice fait partie du cours

Optimisation des hyperparamètres en Python

Afficher le cours

Instructions

  • Créez une liste learning_rates pour les taux d’apprentissage, et une results_list pour stocker l’accuracy de vos prédictions.
  • Écrivez une boucle pour créer un modèle GBM pour chaque taux d’apprentissage mentionné et générez des prédictions pour chaque modèle.
  • Enregistrez le taux d’apprentissage et la métrique d’accuracy dans results_list.
  • Convertissez la liste de résultats en DataFrame et affichez-la.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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