Многие алгоритмы машинного обучения, например нейронные сети, предполагают работу с числами. Поэтому, когда у вас есть категорические данные, вам необходимо преобразовать их. Под категориальным я имею в виду, например:
Марки автомобилей: Audi, BMW, Chevrolet ... Идентификаторы пользователей: 1, 25, 26, 28 ...
Несмотря на то, что идентификаторы пользователей - это числа, они являются просто ярлыками и не означают ничего с точки зрения преемственности, например, возраста или суммы денег.
Итак, базовый подход, похоже, использует двоичные векторы для кодирования категорий:
Audi: 1, 0, 0 ... BMW: 0, 1, 0 ... Chevrolet: 0, 0, 1 ...
Это нормально, когда есть несколько категорий, но кроме этого это выглядит немного неэффективно. Например, если у вас есть 10 000 идентификаторов пользователей для кодирования, это 10 000 функций.
Вопрос в том, есть ли лучший способ? Может быть, один с вероятностями?