Большинство алгоритмов машинного обучения и глубокого обучения не понимают текстовые данные. Поэтому нам нужно преобразовать эти текстовые данные в другой формат. Одно горячее кодирование — это один из методов.

Некоторые алгоритмы могут работать с категориальными данными, такими как дерево решений. Но большинство из них не могут. Таким образом, эти категориальные данные должны быть сопоставлены с целыми числами. Одно горячее кодирование — это метод, который сопоставляет эти категориальные данные с целыми числами. Каждая категория представлена ​​в виде вектора. Размер вектора будет равен общему количеству уникальных категорий в наборе данных. И каждая категория представлена ​​​​в виде вектора 0 и 1.

Пример: пусть наш набор данных содержит 3 категории цвета — «красный», «зеленый», «синий». В приведенной ниже таблице представлено однократное кодирование.

Преимущества одного горячего кодирования:

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

Недостаток одного горячего кодирования:

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

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