Erste SchritteKostenlos loslegen

Sequenzen generieren

Um neuronale Netze mit sequentiellen Daten trainieren zu können, musst du diese zuerst vorverarbeiten. Du wirst die Daten in Input-Ziel-Paare aufteilen, wobei die Inputs aus einer bestimmten Anzahl aufeinanderfolgender Datenpunkte bestehen und das Ziel der nächste Datenpunkt ist.

Deine Aufgabe ist es, eine Funktion namens create_sequences() zu definieren, die dies durchführt. Als Inputs erhält sie in einem DataFrame gespeicherte Daten, df und seq_length, die Länge der Inputs. Als Ausgabe muss sie zwei NumPy-Arrays zurückgeben, eines mit Input-Sequenzen und das andere mit den entsprechenden Zielwerten.

Zur Erinnerung, so sieht das DataFrame df aus:

                 timestamp  consumption

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

Diese Übung ist Teil des Kurses

Deep Learning mit PyTorch für Fortgeschrittene

Kurs anzeigen

Anleitung zur Übung

  • Iteriere über den Bereich der Anzahl der Datenpunkte minus der Länge einer Input-Sequenz.
  • Definiere die Inputs x als den Ausschnitt von df von der i-ten Zeile bis zur i + seq_length-ten Zeile und der Spalte mit Index 1.
  • Definiere das Ziel y als den Ausschnitt von df bei Zeilenindex i + seq_length und der Spalte mit Index 1.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

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)
Bearbeiten und Ausführen von Code