Кодирование аэропорта вылета
Столбец org в наборе данных о рейсах — это категориальная переменная, обозначающая аэропорт вылета.
- ORD — Международный аэропорт О'Хара (Чикаго)
- SFO — Международный аэропорт Сан-Франциско
- JFK — Международный аэропорт имени Джона Ф. Кеннеди (Нью-Йорк)
- LGA — Аэропорт Ла-Гуардия (Нью-Йорк)
- SMF — Сакраменто
- SJC — Сан-Хосе
- OGG — Кахулуи (Гавайи)
Очевидно, что это лишь небольшая часть всех аэропортов. Тем не менее, поскольку данная переменная является категориальной, перед использованием в регрессионной модели её необходимо подвергнуть унитарному кодированию (one-hot encoding).
Данные хранятся в переменной flights. Вы уже применили строковый индексатор, чтобы создать столбец с числовыми индексами, соответствующими значениям в столбце org.
Для повторения материала воспользуйтесь слайдами из уроков на панели Слайды рядом с IPython Shell.
Это упражнение является частью курса
Машинное обучение с PySpark
Инструкции к упражнению
- Импортируйте класс унитарного кодировщика (one-hot encoder).
- Создайте экземпляр унитарного кодировщика, указав входной столбец
org_idxи выходной столбецorg_dummy. - Примените унитарный кодировщик к данным о рейсах.
- Сформируйте сводку соответствия категориальных значений бинарным фиктивным переменным. Включите только уникальные значения и упорядочьте их по столбцу
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()