Geração de sequências
Para poder treinar redes neurais em dados sequenciais, você precisa pré-processá-los primeiro. Você dividirá os dados em pares de entradas e alvos, em que as entradas são alguns números de pontos de dados consecutivos e o alvo é o próximo ponto de dados.
Sua tarefa é definir uma função para fazer isso, chamada create_sequences()
. Como entradas, ele receberá dados armazenados em um DataFrame, df
e seq_length
, o comprimento das entradas. Como saída, ele deve retornar duas matrizes NumPy, uma com as sequências de entrada e a outra com os alvos correspondentes.
Como lembrete, aqui está a aparência do DataFrame df
:
timestamp consumption
0 2011-01-01 00:15:00 -0.704319
... ... ...
140255 2015-01-01 00:00:00 -0.095751
Este exercício faz parte do curso
Aprendizagem profunda intermediária com PyTorch
Instruções do exercício
- Itere sobre o intervalo do número de pontos de dados menos o comprimento de uma sequência de entrada.
- Defina as entradas
x
como a fatia dedf
dai
ª linha até ai + seq_length
ª linha e a coluna no índice1
. - Defina o destino
y
como a fatia dedf
no índice de linhai + seq_length
e a coluna no índice1
.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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)