Вызывает ли горячее кодирование проблемы несбалансированной функции? - PullRequest
0 голосов
/ 03 декабря 2018

Мы знаем, что при извлечении данных нам часто требуется горячее кодирование для кодирования категориальных функций, поэтому одна категориальная функция будет кодироваться для нескольких функций "0/1".

Существует специальноеслучай, который меня смутил: теперь у меня есть одна категориальная функция и одна числовая функция в моем наборе данных. Я кодирую категориальную функцию в 300 новых функций "0/1", а затем нормализовал числовую функцию с помощью MinMaxScaler, так что все значения моих функций находятся вдиапазон от 0 до 1. Но подозрительное явление заключается в том, что соотношение категориальных и числовых признаков, по-видимому, изменилось с 1: 1 до 300: 1.

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

Кто-нибудь может сказать мне правду?Любое слово будет оценено!Спасибо !!!

1 Ответ

0 голосов
/ 03 декабря 2018

Поскольку каждая запись имеет только одну категорию, только одна из них будет равна 1.

Эффективно, с такой предварительной обработкой, вес категориальных функций будет только примерно в 2 раза больше веса стандартизированной функции.(2 раза, если вы рассматриваете расстояния и объекты двух разных категорий).

Но в сущности вы правы: кодирование в одно касание не особенно разумно.Заставлять программы работать с данными, которые они не поддерживают, - отвратительный взлом.Ситуация ухудшается при использовании таких алгоритмов, как k-средних, которые предполагают, что мы можем взять среднее и должны минимизировать квадрат ошибок по этим переменным ... Статистическая ценность результатовбудет ограничено.

...