CommencerCommencer gratuitement

Générer des séquences

Pour pouvoir entraîner des réseaux neuronaux sur des données séquentielles, vous devez d'abord les prétraiter. Vous découperez les données en paires entrée-cible, où les entrées sont un certain nombre de points de données consécutifs et la cible est le point de données suivant.

Votre tâche consiste à définir une fonction appelée create_sequences(). Il recevra comme entrées des données stockées dans un DataFrame, df et seq_length, la longueur des entrées. En sortie, il doit renvoyer deux tableaux NumPy, l'un avec les séquences d'entrée et l'autre avec les cibles correspondantes.

Pour rappel, voici à quoi ressemble le DataFrame df:

                 timestamp  consumption

0      2011-01-01 00:15:00    -0.704319
...                    ...          ...
140255 2015-01-01 00:00:00    -0.095751

Cet exercice fait partie du cours

Apprentissage profond intermédiaire avec PyTorch

Afficher le cours

Instructions

  • Itère sur la plage du nombre de points de données moins la longueur d'une séquence d'entrée.
  • Définissez les entrées x comme la tranche de df allant de la ie ligne à la i + seq_lengthe ligne et la colonne à l'indice 1.
  • Définissez la cible y comme la tranche de df à l'indice de ligne i + seq_length et la colonne à l'indice 1.

Exercice interactif pratique

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

import numpy as np

def create_sequences(df, seq_length):
    xs, ys = [], []
    # Iterate over data indices
    for i in range(____):
      	# Define inputs
        x = df.iloc[____, ____]
        # Define target
        y = df.iloc[____, ____]
        xs.append(x)
        ys.append(y)
    return np.array(xs), np.array(ys)
Modifier et exécuter le code