4 способа кодирования категориальных признаков с высокой кардинальностью – с реализацией на Python

4 способа кодирования категориальных признаков - Python реализация

Изучите применение кодирования целевого значения, кодирования по количеству, хеширования признаков и вложений с использованием библиотек scikit-learn и TensorFlow

“Click” — Фото Cleo Vermij на Unsplash

В этой статье мы рассмотрим 4 популярных метода кодирования категориальных переменных с высокой кардинальностью: (1) Кодирование целевого значения, (2) Кодирование по количеству, (3) Хеширование признаков и (4) Вложения.

Мы объясним, как работает каждый метод, обсудим его преимущества и недостатки и рассмотрим его влияние на производительность задачи классификации.

Оглавление

— Введение категориальных признаков (1) Зачем нам кодировать категориальные признаки? (2) Почему кодирование one-hot не подходит для высокой кардинальности? — Применение на наборе данных AdTech — Обзор каждого метода кодирования (1) Кодирование целевого значения (2) Кодирование по количеству (3) Хеширование признаков (4) Вложения — Сравнение производительности для прогнозирования CTR — Заключение — Дополнительные источники информации

Введение категориальных признаков

Категориальные признаки – это тип переменных, которые описывают категории или группы (например, пол, цвет, страна), в отличие от числовых признаков, которые измеряют количество (например, возраст, рост, температура).

Существуют два типа категориальных данных: упорядоченные признаки, у которых категории могут быть ранжированы и отсортированы (например, размеры футболки или рейтинги ресторанов от 1 до 5 звезд), и номинальные признаки, у которых категории не подразумевают какой-либо значимый порядок (например, имя человека, название города).

Зачем нам кодировать категориальные признаки?

Кодирование категориальной переменной означает нахождение отображения, которое преобразует категорию в числовое значение.

Хотя некоторые алгоритмы могут работать с категориальными данными напрямую (например, деревья решений), большинство моделей машинного обучения не могут работать с категориальными признаками и были разработаны для работы с…