Генерация последовательностей
Прежде чем обучать нейронные сети на последовательных данных, их необходимо предварительно обработать. Данные разбиваются на пары «вход — цель»: входы представляют собой несколько последовательных точек данных, а цель — следующую точку.
Ваша задача — определить функцию 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
Это упражнение является частью курса
Глубокое обучение на 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)