Sobes.tech
Middle — Senior
67

Какие способы кодирования категориальных признаков существуют?

Companies where asked
Автомакон
ПАО Газпром нефть
OZONOZON

Answer from AI

sobes.tech AI

Для кодирования категориальных признаков в машинном обучении существует несколько популярных методов:

  1. One-hot кодирование

    • Каждое уникальное значение категориального признака преобразуется в отдельный бинарный признак.
    • Пример: признак "Цвет" с значениями {Красный, Зеленый, Синий} преобразуется в три признака: is_Красный, is_Зеленый, is_Синий.
    • Подходит для категорий без порядка.
  2. Label Encoding (метка кодирования)

    • Каждому уникальному значению присваивается целочисленный код.
    • Пример: Красный=0, Зеленый=1, Синий=2.
    • Используется, когда категории имеют порядок, либо для алгоритмов, умеющих работать с такими кодами.
  3. Target Encoding (кодирование по целевой переменной)

    • Категории заменяются статистикой целевой переменной (например, средним значением).
    • Помогает учитывать связь категории с целевой переменной.
    • Требует аккуратности, чтобы избежать утечки данных.
  4. Binary Encoding

    • Сначала категории кодируются числами, затем эти числа преобразуются в бинарный формат.
    • Уменьшает размерность по сравнению с one-hot.
  5. Frequency Encoding

    • Категории заменяются на частоту их появления в данных.
  6. Hash Encoding (Feature Hashing)

    • Используется для очень больших категорий, где создается фиксированное число признаков с помощью хеш-функции.

Выбор метода зависит от задачи, объема данных и используемого алгоритма. Например, деревья решений хорошо работают с label encoding, а линейные модели — с one-hot кодированием.