CommencerCommencez gratuitement

Créer les variables d'entraînement et de test

Avant d'ajuster notre modèle linéaire, nous voulons ajouter une constante à nos variables explicatives afin d'avoir une ordonnée à l'origine pour notre modèle linéaire.

Nous voulons aussi créer des variables pour l'entraînement et pour le test. Cela nous permet d'ajuster le modèle sur l'ensemble d'entraînement et d'évaluer ses performances sur l'ensemble de test. Il faut toujours vérifier les performances sur des données que le modèle n'a pas vues pour éviter le surapprentissage, c'est-à-dire mémoriser trop exactement les motifs présents dans les données d'entraînement.

Avec une série chronologique comme celle-ci, on utilise généralement les données les plus anciennes pour l'entraînement et les plus récentes pour le test. Ainsi, on évalue les performances du modèle sur les données les plus récentes, ce qui simule plus fidèlement des prédictions sur des données encore inconnues.

Cet exercice fait partie du cours

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

Instructions de l’exercice

  • Importez la bibliothèque statsmodels.api avec l'alias sm.
  • Ajoutez une constante à la variable features en utilisant la fonction .add_constant() de statsmodels.
  • Définissez train_size à 85 % du nombre total de points de données (nombre de lignes) à l'aide de la propriété .shape[0] de features ou targets.
  • Scindez linear_features et targets en ensembles d'entraînement et de test en utilisant train_size et l'indexation Python (p. ex. [start:stop]).

Exercice interactif pratique

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

# Import the statsmodels.api library with the alias sm
___

# Add a constant to the features
linear_features = sm.____(features)

# Create a size for the training set that is 85% of the total number of samples
train_size = int(0.85 * ____)
train_features = linear_features[:train_size]
train_targets = targets[____]
test_features = linear_features[train_size:]
test_targets = targets[train_size:]
print(linear_features.shape, train_features.shape, test_features.shape)
Modifier et exécuter le code