Middle — Senior
67
Какие способы кодирования категориальных признаков существуют?
Companies where asked
Автомакон
ПАО Газпром нефть
Answer from AI
sobes.tech AI
Для кодирования категориальных признаков в машинном обучении существует несколько популярных методов:
-
One-hot кодирование
- Каждое уникальное значение категориального признака преобразуется в отдельный бинарный признак.
- Пример: признак "Цвет" с значениями {Красный, Зеленый, Синий} преобразуется в три признака: is_Красный, is_Зеленый, is_Синий.
- Подходит для категорий без порядка.
-
Label Encoding (метка кодирования)
- Каждому уникальному значению присваивается целочисленный код.
- Пример: Красный=0, Зеленый=1, Синий=2.
- Используется, когда категории имеют порядок, либо для алгоритмов, умеющих работать с такими кодами.
-
Target Encoding (кодирование по целевой переменной)
- Категории заменяются статистикой целевой переменной (например, средним значением).
- Помогает учитывать связь категории с целевой переменной.
- Требует аккуратности, чтобы избежать утечки данных.
-
Binary Encoding
- Сначала категории кодируются числами, затем эти числа преобразуются в бинарный формат.
- Уменьшает размерность по сравнению с one-hot.
-
Frequency Encoding
- Категории заменяются на частоту их появления в данных.
-
Hash Encoding (Feature Hashing)
- Используется для очень больших категорий, где создается фиксированное число признаков с помощью хеш-функции.
Выбор метода зависит от задачи, объема данных и используемого алгоритма. Например, деревья решений хорошо работают с label encoding, а линейные модели — с one-hot кодированием.