开始使用免费开始使用

生成序列

为了在序列数据上训练神经网络,您需要先对数据进行预处理。您将把数据分块为 输入-目标 对:输入包含若干个连续的数据点,目标是它们之后的下一个数据点。

您的任务是定义一个名为 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)
编辑并运行代码