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 df và seq_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
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
xlà lát cắt củadftừ hàng thứiđến hàng thứi + seq_lengthvà cột có chỉ số1. - Định nghĩa target
ylà lát cắt củadftại hàng có chỉ sối + seq_lengthvà 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)