Bắt đầu ngayBắt đầu miễn phí

Tạo chuỗi

Để huấn luyện neural network trên dữ liệu tuần tự, trước hết bạn cần tiền xử lý dữ liệu. Bạn sẽ chia dữ liệu thành các cặp input–target, trong đó input là một số điểm dữ liệu liên tiếp và target là điểm kế tiếp.

Nhiệm vụ của bạn là định nghĩa một hàm để làm việc này, gọi là create_sequences(). Hàm nhận vào dữ liệu được lưu trong DataFrame dfseq_length, độ dài của input. Kết quả, hàm cần trả về hai mảng NumPy: một mảng các chuỗi input và mảng còn lại là các target tương ứng.

Nhắc lại, DataFrame df có dạng như sau:

                 timestamp  consumption
0      2011-01-01 00:15:00    -0.704319
...                    ...          ...
140255 2015-01-01 00:00:00    -0.095751

Bài tập này là một phần của khóa học

Deep Learning nâng cao với PyTorch

Xem khóa học

Hướng dẫn bài tập

  • Lặp qua khoảng từ 0 đến số điểm dữ liệu trừ đi độ dài một chuỗi input.
  • Định nghĩa input x là lát cắt của df từ hàng thứ i đến hàng thứ i + seq_length và cột có chỉ số 1.
  • Định nghĩa target y là lát cắt của df tại hàng có chỉ số i + seq_length và cột có chỉ số 1.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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)
Chỉnh sửa và Chạy Mã