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
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.____('____', '____', '____').____(____)