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

Традиционные методы кодирования включают:

  1. Горячее кодирование
  2. Кодирование частоты подсчета
  3. Порядковое/меточное кодирование

В игру вступает еще одна интересная концепция монотонных отношений, когда функция, с которой мы имеем дело, прямо или обратно пропорциональна метке (результату). Например, страховка для пожилых людей стоит дороже. Здесь существует прямая пропорция между характеристикой (возрастной группой) и лейблом (ценой страховки). Мы используем следующие приемы, когда сталкиваемся с монотонными отношениями:

  1. Кодировка этикетки заказа
  2. Среднее кодирование
  3. Вес доказательств

Традиционные методы

Давайте подробно разберем следующие методы:

  1. Горячее кодирование

One-Hot Encoding использует двоичные числа для представления наличия или отсутствия категорий. Он преобразует каждую категорию в сам признак, содержащий двоичные значения, где наличие этой категории обозначается 1. Давайте разберемся с этим на примере.

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

Достоинства: Сохраняет всю информацию

Недостатки: увеличивает пространство функций

2. Подсчет частотного кодирования

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

Каждый раз, когда появляется красная категория, ее частота, равная трем, заменяется предыдущей. То же самое верно для желтого и зеленого.

Эта стратегия широко используется в задачах kaggle и эффективна с ансамблевыми моделями. Для линейных моделей он подходит плохо. Недостаток этого метода заключается в том, что он вызывает коллизию между двумя категориями, если их частоты схожи.

3. Порядковое/меточное кодирование

При кодировании меток категории заменяются числами от 1 до n, где n — общее количество различных категорий. Категориям присваиваются номера в алфавитном порядке. Следующий пример иллюстрирует кодирование меток.

Количество различных категорий равно трем, и, поскольку мы следуем алфавитному порядку, зеленому присваивается 1, красному — 2, а желтому — 3. Этот подход не расширяет пространство признаков и хорошо работает с ансамблевым алгоритмом.

Кодирование монотонных отношений

Монотонная связь, как было установлено ранее, обозначает прямую или обратную пропозициональность признака с меткой (исходом). Рассмотрим методы кодирования.

  1. Заказать кодировку ярлыка

Вместо категорий используются целые числа от 1 до n, где n — количество различных категорий в переменной. Однако среднее целевое значение для каждой категории определяет нумерацию. Давайте разберемся в этом на примере.

У нас есть функция (цвет) и цель. Теперь мы вычисляем среднее значение для каждой категории по отношению к ее цели, поэтому среднее значение красного будет равно 0,5, так как оно встречается дважды с одним успехом и одной неудачей в результате, тогда как среднее значение желтого равно 1, так как оно встречается дважды с обоими успеха в его результате, и, аналогично, среднее значение зеленого будет равно 0. Теперь категориям присваиваются номера на основе их среднего значения, при этом самой высокой средней категории присваивается 1 (желтый), за которым следуют красный и зеленый.

При таком подходе монотонное отношение устанавливается даже после кодирования, и этот подход можно использовать как в линейных, так и в нелинейных моделях.

2. Среднее кодирование

Среднее кодирование подразумевает замену категории средним целевым значением для этой категории. Давайте разберемся в этом на примере

Среднее значение каждой категории определяется относительно ее цели и соответственно заменяется. В этом случае среднее значение красного составляет 0,5 по отношению к цели. Так же и с желтым и зеленым. Ограничение этого подхода заключается в том, что две категории с одинаковым средним значением могут привести к перекрытию двух категорий и, следовательно, к потере информации.

3. Кодирование отношения вероятностей

В этом методе рассчитывается вероятность того, что цель будет положительной для категории, которая равна P (1). Точно так же вероятность того, что цель будет отрицательной, рассчитывается для категории P (0). Затем вычисляется отношение вероятностей с использованием P(1)/P(0), и полученное значение используется для кодирования категории.

О реализации каждой методики можно узнать здесь.

Я благодарен.