Abfahrtszeit in Buckets
Tageszeitdaten sind bei Regressionsmodellen eine Herausforderung. Sie eignen sich auch super zum Bucketing.
In dieser Lektion konvertierst du die Abflugzeiten von Zahlen zwischen 0 (das ist 00:00 Uhr) und 24 (das ist 24:00 Uhr) in Gruppenwerte. Anschließend nimmst du diese sortierten Werte und codierst sie mit One-Hot-Kodierung.
Diese Übung ist Teil des Kurses
Maschinelles Lernen mit PySpark
Anleitung zur Übung
- Erstell 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 als „depart_bucket“ an. - Speicher die Abfahrtszeiten in den Daten „
flights“. Zeig die ersten fünf Werte für „depart“ und „depart_bucket“. - Erstell ein One-Hot-Encoder-Objekt und gib „
depart_bucket“ als Eingabespalte und „depart_dummy“ als Ausgabespalte an. - Passe den Encoder an die in Buckets eingeteilten Daten an und verwende ihn dann, um diese Daten in Dummy-Variablen umzuwandeln. Zeig 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.____('____', '____', '____').____(____)