Abfahrtszeit der Eimer
Tageszeitdaten sind eine Herausforderung bei Regressionsmodellen. Sie sind auch ein guter Kandidat für das Bucketing.
In dieser Lektion wirst du die Abflugzeiten von numerischen Werten zwischen 0 (entspricht 00:00) und 24 (entspricht 24:00) in gebündelte Werte umwandeln. Dann nimmst du diese gebinnten Werte und kodierst sie in einem Rutsch.
Diese Übung ist Teil des Kurses
Maschinelles Lernen mit PySpark
Anleitung zur Übung
- Erstelle ein Bucketizer-Objekt mit Bin-Grenzen bei 0, 3, 6, …, 24, die den Zeiten 0:00, 03:00, 06:00, …, 24:00 entsprechen. Gib die Eingabespalte als
depart
und die Ausgabespalte alsdepart_bucket
an. - Lege die Abfahrtszeiten in den Daten von
flights
ab. Zeige die ersten fünf Werte fürdepart
unddepart_bucket
. - Erstelle ein One-Hot-Encoder-Objekt. Gib die Ausgabespalte als
depart_dummy
an. - Trainiere den Encoder mit den Daten und verwende ihn dann, um die Abfahrtszeiten in Dummy-Variablen umzuwandeln. Zeige die ersten fünf Werte für
depart
,depart_bucket
unddepart_dummy
.
Interaktive Ü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.____('____', '____', '____').____(____)