Генерування послідовностей
Щоб навчати нейронні мережі на послідовних даних, їх спершу потрібно підготувати. Ви поділите дані на пари «вхід–ціль», де вхід — це певна кількість послідовних точок даних, а ціль — наступна точка даних.
Ваше завдання — визначити функцію create_sequences(), яка це робитиме. Як вхідні дані вона отримує дані у DataFrame df і seq_length — довжину вхідної послідовності. Як вихід вона має повертати два масиви NumPy: один із вхідними послідовностями, інший — із відповідними цілями.
Для нагадування, ось як виглядає DataFrame df:
timestamp consumption
0 2011-01-01 00:15:00 -0.704319
... ... ...
140255 2015-01-01 00:00:00 -0.095751
Ця вправа є частиною курсу
Середній рівень Deep Learning з PyTorch
Інструкції до вправи
- Проітератуйте по діапазону від кількості точок даних мінус довжина вхідної послідовності.
- Визначте вхід
xяк зрізdfвідi-го рядка доi + seq_length-го рядка та стовпець з індексом1. - Визначте ціль
yяк елементdfу рядку з індексомi + seq_lengthі стовпці з індексом1.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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)