НачатьНачать бесплатно

Генерация последовательностей

Прежде чем обучать нейронные сети на последовательных данных, их необходимо предварительно обработать. Данные разбиваются на пары «вход — цель»: входы представляют собой несколько последовательных точек данных, а цель — следующую точку.

Ваша задача — определить функцию 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)
Редактировать и запускать код