LoslegenKostenlos loslegen

Abflugzeiten in Buckets einteilen

Tageszeitdaten sind für Regressionsmodelle eine Herausforderung. Gleichzeitig eignen sie sich sehr gut fürs Bucketing.

In dieser Lektion wandelst du die Abflugzeiten der Flüge von numerischen Werten zwischen 0 (entspricht 00:00) und 24 (entspricht 24:00) in diskrete Bins um. Diese binned Werte kodierst du anschließend per One-Hot-Encoding.

Diese Übung ist Teil des Kurses

Maschinelles Lernen mit PySpark

Kurs anzeigen

Anleitung zur Übung

  • Erstelle ein Bucketizer-Objekt mit Bin-Grenzen bei 0, 3, 6, …, 24, entsprechend den Zeiten 0:00, 03:00, 06:00, …, 24:00. Gib die Eingabespalte als depart und die Ausgabespalte als depart_bucket an.
  • Teile die Abflugzeiten in den flights-Daten in Buckets ein. Zeige die ersten fünf Werte für depart und depart_bucket.
  • Erstelle ein One-Hot-Encoder-Objekt und gib depart_bucket als Eingabespalte und depart_dummy als Ausgabespalte an.
  • Fitte den Encoder auf die gebucketen Daten und verwende ihn anschließend, um diese Daten in Dummy-Variablen umzuwandeln. Zeige die ersten fünf Werte für depart, depart_bucket und depart_dummy.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

from pyspark.ml.feature import Bucketizer, OneHotEncoder

# Create buckets at 3 hour intervals through the day
buckets = ____(splits=[____], inputCol='____', outputCol='____')

# Bucket the departure times
bucketed = buckets.____(____)
bucketed.____('____', '____').____(____)

# Create a one-hot encoder
onehot = ____(inputCols=['____'], outputCols=['____'])

# One-hot encode the bucketed departure times
flights_onehot = ____.____(____).____(____)
flights_onehot.____('____', '____', '____').____(____)
Code bearbeiten und ausführen