Label Encoding
Label Encoding — это техника кодирования категориальных переменных, при которой каждому уникальному значению категории присваивается уникальное целое число (например, «Красный» -> 0, «Зеленый» -> 1, «Синий» -> 2). Этот метод прост в реализации и экономичен по памяти, но имеет недостаток: алгоритмы могут ошибочно интерпретировать числовой порядок как математическую зависимость (2 > 1), что не всегда верно для номинальных данных, поэтому для таких случаев часто предпочтительнее One-Hot Encoding.
Что такое «Label Encoding» простыми словами
Компьютер не понимает слова «Красный», «Синий». Ему нужны числа. Label Encoding просто нумерует список: Красный=1, Синий=2, Зеленый=3. Это быстро и компактно. Но есть риск: компьютер может подумать, что Зеленый (3) «больше» или «лучше», чем Красный (1), просто потому что цифра больше. Для алгоритмов, основанных на деревьях решений, это нормально, но для нейросетей или линейной регрессии это может стать проблемой.
Преобразование категориальных текстовых меток в числа (0, 1, 2…).
Модель может воспринять числа (0, 1, 2) как упорядоченные (2 > 1), хотя категории равнозначны. Это вносит ложную зависимость. Используют One-Hot Encoding.
Label Encoding (0, 1, 2) используют для целевой переменной или порядковых признаков (S, M, L), где есть иерархия. One-Hot (100, 010, 001) используют для номинальных признаков (цвета, города), где нет порядка, чтобы модель не выучила ложную зависимость $2 > 1$. Для деревьев Label Encoding часто допустим и для номиналов.