ComeçarComece de graça

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

Ver curso

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 de df da iª linha até a i + seq_lengthª linha e a coluna no índice 1.
  • Defina o destino y como a fatia de df no índice de linha i + seq_length e a coluna no índice 1.

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)
Editar e executar o código