ÎncepețiÎncepe gratuit

Generarea secvențelor

Pentru a antrena rețele neuronale pe date secvențiale, trebuie să le preprocesezi mai întâi. Vei împărți datele în perechi intrare-țintă, unde intrările reprezintă un anumit număr de puncte de date consecutive, iar ținta este punctul de date următor.

Sarcina ta este să definești o funcție care face acest lucru, numită create_sequences(). Ca intrări, aceasta va primi datele stocate într-un DataFrame, df, și seq_length, lungimea secvențelor de intrare. Ca ieșiri, trebuie să returneze două array-uri NumPy: unul cu secvențele de intrare și celălalt cu țintele corespunzătoare.

Ca referință, iată cum arată DataFrame-ul df:

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

Acest exercițiu face parte din cursul

Deep Learning intermediar cu PyTorch

Vezi cursul

Instrucțiuni pentru exercițiu

  • Iterează peste intervalul dat de numărul de puncte de date minus lungimea unei secvențe de intrare.
  • Definește intrările x ca felie din df de la rândul i până la rândul i + seq_length și coloana de la indexul 1.
  • Definește ținta y ca felie din df la indexul de rând i + seq_length și coloana de la indexul 1.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul