Kodowanie lotniska wylotu
Kolumna org w zbiorze danych o lotach to zmienna kategoryczna określająca lotnisko odlotu.
- ORD — O'Hare International Airport (Chicago)
- SFO — San Francisco International Airport
- JFK — John F Kennedy International Airport (Nowy Jork)
- LGA — La Guardia Airport (Nowy Jork)
- SMF — Sacramento
- SJC — San Jose
- OGG — Kahului (Hawaje)
To oczywiście tylko niewielki podzbiór lotnisk. Ponieważ jednak jest to zmienna kategoryczna, przed użyciem jej w modelu regresji trzeba ją zakodować metodą one-hot encoding.
Dane znajdują się w zmiennej flights. Indeksator łańcuchów (string indexer) został już zastosowany i utworzył kolumnę z indeksami odpowiadającymi wartościom tekstowym w kolumnie org.
Warto przejrzeć slajdy z lekcji dostępne w panelu Slajdy obok powłoki IPython.
To ćwiczenie jest częścią kursu
Uczenie maszynowe z PySpark
Instrukcje do ćwiczenia
- Zaimportuj klasę kodera one-hot.
- Utwórz instancję kodera one-hot, podając
org_idxjako kolumnę wejściową iorg_dummyjako kolumnę wyjściową. - Zastosuj koder one-hot do danych o lotach.
- Wygeneruj zestawienie mapowania wartości kategorycznych na binarne zmienne zastępcze (dummy variables). Uwzględnij tylko unikalne wartości i posortuj je według
org_idx.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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()