CommencezCommencez gratuitement

Créer des caractéristiques d'entraînement et de test

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

Nous voulons aussi créer des caractéristiques d'entraînement et de test. Ainsi, nous pourrons ajuster notre modèle sur l'ensemble d'entraînement et évaluer la performance sur l'ensemble de test. Il faut toujours vérifier la performance sur des données que le modèle n'a pas vues pour s'assurer qu'il n'y a pas de 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 comme ensemble d'entraînement et les plus récentes comme ensemble de test. Cela nous permet d'évaluer la performance 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 jamais vues.

Cette activité fait partie du cours

Machine Learning pour la finance en Python

Voir le cours

Instructions de l’exercice

  • Importez la bibliothèque statsmodels.api avec l'alias sm.
  • Ajoutez une constante à la variable features à l'aide de la fonction .add_constant() de statsmodels.
  • Définissez train_size comme 85 % du nombre total de points de données (nombre de lignes) en utilisant la propriété .shape[0] de features ou targets.
  • Divisez linear_features et targets en ensembles d'entraînement et de test à l'aide de train_size et de 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