ПочатиПочніть безкоштовно

Генерування послідовностей

Щоб навчати нейронні мережі на послідовних даних, їх спершу потрібно підготувати. Ви поділите дані на пари «вхід–ціль», де вхід — це певна кількість послідовних точок даних, а ціль — наступна точка даних.

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