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
<Kurs>Maschinelles Lernen mit PySpark</Kurs>Übungsanweisungen
- 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
departund die Ausgabespalte alsdepart_bucketan. - Teile die Abflugzeiten in den
flights-Daten in Buckets ein. Zeige die ersten fünf Werte fürdepartunddepart_bucket. - Erstelle ein One-Hot-Encoder-Objekt und gib
depart_bucketals Eingabespalte unddepart_dummyals 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_bucketunddepart_dummy.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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.____('____', '____', '____').____(____)