глоссарий

Label encoding

Label encoding

Label encoding — это превращение категориальных признаков, таких как цвета или города, в целые числа 0, 1, 2 и так далее, чтобы алгоритмы машинного обучения могли их обрабатывать. Модели работают только с числами, поэтому строки нужно преобразовать. Каждой уникальной категории присваивается свой индекс, и данные становятся числовыми. Это простейший способ закодировать категории.

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

Интуитивно это похоже на нумерацию коробок на складе: вы наклеиваете номер, и алгоритм использует его как число. Но важно помнить, что такая нумерация вносит искусственный порядок. Например, цвета, закодированные как 0, 1, 2, заставят модель думать, что синий «меньше» зелёного, что бессмысленно.

Рассмотрим прикладной пример: предсказывая цену квартиры, тип дома — «панельный», «кирпичный», «монолитный» — можно превратить в 0, 1, 2. Модель может решить, что монолитный дом «больше» панельного. Если порядок не важен, лучше применить one-hot encoding.

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