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
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
xca felie dindfde la rândulipână la rânduli + seq_lengthși coloana de la indexul1. - Definește ținta
yca felie dindfla indexul de rândi + seq_lengthși coloana de la indexul1.
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)