Категориальные признаки — это те, которые содержат данные в виде категорий. Модели машинного обучения обрабатывают только числовые данные, но категориальные признаки в основном относятся к строковому типу данных. Поэтому кодирование, то есть преобразование этих категорий в числовые значения, имеет важное значение. Давайте подробно обсудим кодировку.
Традиционные методы кодирования включают:
- Горячее кодирование
- Кодирование частоты подсчета
- Порядковое/меточное кодирование
В игру вступает еще одна интересная концепция монотонных отношений, когда функция, с которой мы имеем дело, прямо или обратно пропорциональна метке (результату). Например, страховка для пожилых людей стоит дороже. Здесь существует прямая пропорция между характеристикой (возрастной группой) и лейблом (ценой страховки). Мы используем следующие приемы, когда сталкиваемся с монотонными отношениями:
- Кодировка этикетки заказа
- Среднее кодирование
- Вес доказательств
Традиционные методы
Давайте подробно разберем следующие методы:
- Горячее кодирование
One-Hot Encoding использует двоичные числа для представления наличия или отсутствия категорий. Он преобразует каждую категорию в сам признак, содержащий двоичные значения, где наличие этой категории обозначается 1. Давайте разберемся с этим на примере.
Категориальным признаком здесь является цвет, и каждая категория здесь преобразуется в сам признак, отмечая его наличие и отсутствие двоичными числами.
Достоинства: Сохраняет всю информацию
Недостатки: увеличивает пространство функций
2. Подсчет частотного кодирования
Количество или частота наблюдений в наборе данных заменяет категории. Следующий пример иллюстрирует кодирование частоты подсчета.
Каждый раз, когда появляется красная категория, ее частота, равная трем, заменяется предыдущей. То же самое верно для желтого и зеленого.
Эта стратегия широко используется в задачах kaggle и эффективна с ансамблевыми моделями. Для линейных моделей он подходит плохо. Недостаток этого метода заключается в том, что он вызывает коллизию между двумя категориями, если их частоты схожи.
3. Порядковое/меточное кодирование
При кодировании меток категории заменяются числами от 1 до n, где n — общее количество различных категорий. Категориям присваиваются номера в алфавитном порядке. Следующий пример иллюстрирует кодирование меток.
Количество различных категорий равно трем, и, поскольку мы следуем алфавитному порядку, зеленому присваивается 1, красному — 2, а желтому — 3. Этот подход не расширяет пространство признаков и хорошо работает с ансамблевым алгоритмом.
Кодирование монотонных отношений
Монотонная связь, как было установлено ранее, обозначает прямую или обратную пропозициональность признака с меткой (исходом). Рассмотрим методы кодирования.
- Заказать кодировку ярлыка
Вместо категорий используются целые числа от 1 до n, где n — количество различных категорий в переменной. Однако среднее целевое значение для каждой категории определяет нумерацию. Давайте разберемся в этом на примере.
У нас есть функция (цвет) и цель. Теперь мы вычисляем среднее значение для каждой категории по отношению к ее цели, поэтому среднее значение красного будет равно 0,5, так как оно встречается дважды с одним успехом и одной неудачей в результате, тогда как среднее значение желтого равно 1, так как оно встречается дважды с обоими успеха в его результате, и, аналогично, среднее значение зеленого будет равно 0. Теперь категориям присваиваются номера на основе их среднего значения, при этом самой высокой средней категории присваивается 1 (желтый), за которым следуют красный и зеленый.
При таком подходе монотонное отношение устанавливается даже после кодирования, и этот подход можно использовать как в линейных, так и в нелинейных моделях.
2. Среднее кодирование
Среднее кодирование подразумевает замену категории средним целевым значением для этой категории. Давайте разберемся в этом на примере
Среднее значение каждой категории определяется относительно ее цели и соответственно заменяется. В этом случае среднее значение красного составляет 0,5 по отношению к цели. Так же и с желтым и зеленым. Ограничение этого подхода заключается в том, что две категории с одинаковым средним значением могут привести к перекрытию двух категорий и, следовательно, к потере информации.
3. Кодирование отношения вероятностей
В этом методе рассчитывается вероятность того, что цель будет положительной для категории, которая равна P (1). Точно так же вероятность того, что цель будет отрицательной, рассчитывается для категории P (0). Затем вычисляется отношение вероятностей с использованием P(1)/P(0), и полученное значение используется для кодирования категории.
О реализации каждой методики можно узнать здесь.
Я благодарен.