CommencerCommencez gratuitement

Assembler des modèles

Une façon d'améliorer les prédictions des modèles de Machine Learning est l'assemblage (ensembling). Une méthode simple consiste à faire la moyenne des prédictions de plusieurs modèles. Une approche plus avancée consiste à alimenter les prédictions de plusieurs modèles dans un autre modèle, qui produit les prédictions finales. Les deux approches améliorent généralement les performances globales (à condition que chaque modèle individuel soit de bonne qualité). Rappelez-vous que les forêts aléatoires reposent elles aussi sur l'assemblage de nombreux arbres de décision.

Pour assembler les prédictions de notre réseau de neurones, nous allons produire des prédictions avec les 3 modèles que nous venons de créer — le modèle de base, le modèle avec fonction de perte personnalisée et le modèle avec dropout. Nous combinerons ensuite les prédictions avec la fonction .hstack() de numpy, puis nous en ferons la moyenne ligne par ligne avec np.mean(predictions, axis=1).

Cet exercice fait partie du cours

<cours>Machine Learning pour la finance en Python</cours>
Voir le cours

Instructions de l’exercice

  • Créez les prédictions sur scaled_train_features et scaled_test_features pour les 3 modèles entraînés (model_1, model_2, model_3) à l'aide de la méthode .predict().
  • Empilez horizontalement (avec np.hstack()) les prédictions dans une matrice, puis calculez la moyenne par ligne pour obtenir des prédictions moyennes pour les ensembles d'entraînement et de test.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Make predictions from the 3 neural net models
train_pred1 = model_1.predict(____)
test_pred1 = model_1.predict(____)

train_pred2 = ____
test_pred2 = ____

train_pred3 = model_3.predict(scaled_train_features)
test_pred3 = model_3.predict(scaled_test_features)

# Horizontally stack predictions and take the average across rows
train_preds = np.mean(np.hstack((train_pred1, train_pred2, train_pred3)), axis=1)
test_preds = np.mean(____, ____)
print(test_preds[-5:])
Modifier et exécuter le code