Codierung des Abflugorts
Die Spalte „ org
“ in den Flugdaten ist eine Kategorieangabe, die den Flughafen angibt, von dem ein Flug startet.
- ORD – O'Hare International Airport (Chicago)
- SFO – Internationaler Flughafen San Francisco
- JFK – John F. Kennedy International Airport (New York)
- LGA – Flughafen La Guardia (New York)
- SMF – Sacramento
- SJC – San Jose
- OGG – Kahului (Hawaii)
Das ist natürlich nur ein kleiner Teil der Flughäfen. Da es sich aber um eine kategoriale Variable handelt, muss sie erst mit One-Hot-Kodierung kodiert werden, bevor sie in einem Regressionsmodell verwendet werden kann.
Die Daten sind in einer Variablen namens „ flights
” gespeichert. Du hast bereits einen String-Indexer verwendet, um eine Spalte mit indizierten Werten zu erstellen, die den Strings in „ org
“ entsprechen.
Es könnte hilfreich sein, die Folien aus den Lektionen im Folienbereich neben der IPython-Shell noch mal durchzugehen.
Diese Übung ist Teil des Kurses
Maschinelles Lernen mit PySpark
Anleitung zur Übung
- Importiere die One-Hot-Encoder-Klasse.
- Erstell eine One-Hot-Encoder-Instanz und nenn die Eingabespalte „
org_idx
“ und die Ausgabespalte „org_dummy
“. - Wende den One-Hot-Encoder auf die Flugdaten an.
- Mach eine Zusammenfassung der Zuordnung von kategorialen Werten zu binär kodierten Dummy-Variablen. Nur eindeutige Werte einbeziehen und nach „
org_idx
“ sortieren.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# Import the one hot encoder class
from pyspark.ml.____ import ____
# Create an instance of the one hot encoder
onehot = ____(inputCols=[____], outputCols=[____])
# Apply the one hot encoder to the flights data
onehot = onehot.____(____)
flights_onehot = onehot.____(____)
# Check the results
flights_onehot.____('org', 'org_idx', 'org_dummy').____().____('org_idx').show()