Membuat sekuens
Agar dapat melatih neural network pada data berurutan, Anda perlu melakukan praproses terlebih dahulu. Anda akan memecah data menjadi pasangan input-target, di mana input adalah sejumlah titik data berurutan dan target adalah titik data berikutnya.
Tugas Anda adalah mendefinisikan sebuah fungsi untuk melakukan ini bernama create_sequences(). Sebagai masukan, fungsi ini akan menerima data yang disimpan dalam DataFrame, df, dan seq_length, panjang input. Sebagai keluaran, fungsi ini harus mengembalikan dua array NumPy, satu berisi sekuens input dan satu lagi berisi target yang sesuai.
Sebagai pengingat, berikut adalah tampilan DataFrame df:
timestamp consumption
0 2011-01-01 00:15:00 -0.704319
... ... ...
140255 2015-01-01 00:00:00 -0.095751
Latihan ini adalah bagian dari kursus
Deep Learning Lanjutan dengan PyTorch
Petunjuk latihan
- Iterasikan pada rentang jumlah titik data dikurangi panjang satu sekuens input.
- Definisikan input
xsebagai potongandfdari baris ke-ihingga baris ke-i + seq_lengthdan kolom pada indeks1. - Definisikan target
ysebagai potongandfpada indeks barisi + seq_lengthdan kolom pada indeks1.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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)