CommencerCommencez gratuitement

Construire et entraîner un réseau de neurones simple

Le prochain modèle que nous allons apprendre à utiliser est un réseau de neurones. Les réseaux peuvent capturer des interactions complexes entre variables, mais ils sont plus difficiles à configurer et à interpréter. Récemment, ils ont surpassé des experts humains dans de nombreux domaines, notamment la reconnaissance d'images et le jeu (jetez un œil à AlphaGo) : leur potentiel de performance est donc considérable.

Pour construire nos réseaux, nous utiliserons la bibliothèque keras. C'est une API de haut niveau qui permet de créer rapidement des réseaux de neurones tout en gardant une bonne maîtrise de leur conception. Nous allons d'abord créer l'un des réseaux les plus simples possibles : un réseau à 3 couches qui prend nos variables d'entrée et prédit une valeur unique. À l'image des modèles sklearn, les modèles keras possèdent une méthode .fit() qui prend en arguments (features, targets).

Cet exercice fait partie du cours

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

Instructions de l’exercice

  • Créez une couche dense avec 20 nœuds et l'activation ReLU ('relu') comme 2\(^{e}\) couche du réseau de neurones.
  • Créez la dernière couche dense avec 1 nœud et une activation linéaire (activation='linear').
  • Entraînez le modèle sur scaled_train_features et train_targets.

Exercice interactif pratique

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

from keras.models import Sequential
from keras.layers import Dense

# Create the model
model_1 = Sequential()
model_1.add(Dense(100, input_dim=scaled_train_features.shape[1], activation='relu'))
model_1.add(Dense(____, activation=____))
model_1.add(Dense(____, activation=____))

# Fit the model
model_1.compile(optimizer='adam', loss='mse')
history = model_1.fit(____, ____, epochs=25)
Modifier et exécuter le code