เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การสร้างลำดับข้อมูล

ก่อนจะนำข้อมูลลำดับไปฝึกโครงข่ายประสาทเทียม จำเป็นต้องผ่านการเตรียมข้อมูลก่อน โดยจะแบ่งข้อมูลออกเป็นคู่ input-target ซึ่ง input คือจุดข้อมูลที่ต่อเนื่องกันหลายจุด และ target คือจุดข้อมูลถัดไป

งานของคุณคือกำหนดฟังก์ชันชื่อ create_sequences() เพื่อทำหน้าที่นี้ โดยรับ input เป็น DataFrame ชื่อ df และ seq_length ซึ่งเป็นความยาวของ input แล้ว return NumPy array สองชุด ได้แก่ ชุดที่เก็บลำดับ input และอีกชุดที่เก็บ target ที่สอดคล้องกัน

สำหรับข้อมูลอ้างอิง 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

ดูคอร์ส

คำแนะนำการฝึกหัด

  • วนซ้ำในช่วงของจำนวนจุดข้อมูลทั้งหมดลบด้วยความยาวของลำดับ input
  • กำหนด input x เป็น slice ของ df ตั้งแต่แถวที่ i ถึงแถวที่ i + seq_length และคอลัมน์ที่อินเดกซ์ 1
  • กำหนด target y เป็น slice ของ 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)
แก้ไขและรันโค้ด