開始使用免費開始

產生序列

在訓練能處理序列資料的神經網路之前,你需要先進行前處理。你會把資料切成輸入-目標的配對,其中輸入是若干連續的資料點,而目標是下一個資料點。

你的任務是定義一個名為 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

本練習屬於課程

Intermediate Deep Learning with 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)
編輯並執行程式碼