НачатьНачать бесплатно

Кодирование аэропорта вылета

Столбец 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()
Редактировать и запускать код