Кодування аеропорту вильоту
Стовпець org у даних про рейси є категоріальною змінною, що містить аеропорт, з якого вилітає рейс.
- ORD — міжнародний аеропорт О'Хара (Чикаґо)
- SFO — міжнародний аеропорт Сан-Франциско
- JFK — міжнародний аеропорт імені Джона Кеннеді (Нью-Йорк)
- LGA — аеропорт Ла-Гвардія (Нью-Йорк)
- SMF — Сакраменто
- SJC — Сан-Хосе
- OGG — Кахулуї (Гаваї)
Звісно, це лише невелика підмножина аеропортів. Проте, оскільки це категоріальна змінна, її потрібно перетворити за допомогою one-hot кодування, перш ніж використовувати в регресійній моделі.
Дані збережено у змінній flights. Ви вже застосували StringIndexer, щоб створити стовпець із проіндексованими значеннями, що відповідають рядкам у org.
За потреби перегляньте слайди з уроків у панелі Slides поряд з IPython Shell.
Ця вправа є частиною курсу
Machine Learning з PySpark
Інструкції до вправи
- Імпортуйте клас one-hot encoder.
- Створіть екземпляр one-hot encoder, вказавши вхідний стовпець
org_idx, а вихідний —org_dummy. - Застосуйте one-hot encoder до даних про рейси.
- Згенеруйте підсумок відображення від категоріальних значень до бінарно закодованих „даммі"-змінних. Включіть лише унікальні значення та відсортуйте за
org_idx.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()