Kom igångKom igång gratis

Generera sekvenser

För att kunna träna neurala nätverk på sekventiell data behöver du förbehandla den först. Du delar upp datan i par av indata och mål, där indatan består av ett antal konsekutiva datapunkter och målet är nästa datapunkt.

Din uppgift är att definiera en funktion för detta som kallas create_sequences(). Som indata tar den emot data lagrad i en DataFrame, df, samt seq_length – längden på indatasekvenserna. Som utdata ska den returnera två NumPy-arrayer: en med indatasekvenser och en med motsvarande mål.

Som en påminnelse ser DataFrame:n df ut så här:

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

Den här övningen är en del av kursen

Fördjupad djupinlärning med PyTorch

Visa kurs

Övningsinstruktioner

  • Iterera över intervallet från antalet datapunkter minus längden på en indatasekvens.
  • Definiera indatan x som ett utsnitt av df från rad i till rad i + seq_length och kolumnen vid index 1.
  • Definiera målet y som ett utsnitt av df vid radindex i + seq_length och kolumnen vid index 1.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
Redigera och kör kod