ComenzarEmpieza gratis

Generación de secuencias

Para poder entrenar redes neuronales con datos secuenciales, primero tienes que preprocesarlos. Trocearás los datos en pares de entrada-objetivo, donde las entradas son un cierto número de puntos de datos consecutivos y el objetivo es el siguiente punto de datos.

Tu tarea es definir una función para hacer esto llamada create_sequences(). Como entradas, recibirá datos almacenados en un DataFrame, df y seq_length, la longitud de las entradas. Como salida, debe devolver dos matrices NumPy, una con las secuencias de entrada y otra con los objetivos correspondientes.

A modo de recordatorio, este es el aspecto del DataFrame df:

                 timestamp  consumption

0      2011-01-01 00:15:00    -0.704319
...                    ...          ...
140255 2015-01-01 00:00:00    -0.095751

Este ejercicio forma parte del curso

Aprendizaje profundo intermedio con PyTorch

Ver curso

Instrucciones del ejercicio

  • Itera por el intervalo del número de puntos de datos menos la longitud de una secuencia de entrada.
  • Define las entradas x como la segmentación de df desde la fila i hasta la fila i + seq_length y la columna en el índice 1.
  • Define el objetivo y como la porción de df en el índice de la fila i + seq_length y la columna en el índice 1.

Ejercicio interactivo práctico

Prueba este ejercicio completando el código de muestra.

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 y ejecutar código