Začněte nyníZačněte zdarma

Generování sekvencí

Aby bylo možné trénovat neuronové sítě na sekvenčních datech, je nejprve potřeba tato data předpřipravit. Data rozdělíš na dvojice vstup–cíl, kde vstupy tvoří určitý počet po sobě jdoucích datových bodů a cílem je vždy následující datový bod.

Tvým úkolem je definovat funkci create_sequences(), která to zajistí. Na vstupu dostane data uložená v DataFrame df a hodnotu seq_length určující délku vstupních sekvencí. Na výstupu by měla vrátit dvě NumPy pole – jedno se vstupními sekvencemi a druhé s odpovídajícími cílovými hodnotami.

Pro připomenutí, takto vypadá DataFrame df:

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

Toto cvičení je součástí kurzu

Intermediate Deep Learning with PyTorch

Zobrazit kurz

Pokyny k cvičení

  • Iteruj přes rozsah počtu datových bodů mínus délka vstupní sekvence.
  • Definuj vstup x jako výřez df od i-tého řádku po řádek i + seq_length a sloupec na indexu 1.
  • Definuj cíl y jako výřez df na indexu řádku i + seq_length a sloupci na indexu 1.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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)
Upravit a spustit kód