Как управлять категориальной переменной со многими различными значениями (500) в машинном обучении? - PullRequest
0 голосов
/ 01 июня 2019

Допустим, у меня есть набор данных из 15 столбцов, и он имеет 2 столбца категории. Эти столбцы имеют много различных значений около 200 . Если мы применим onehot / dummy varibale , тогда он создаст 400 столбцов (для 2 вышеупомянутых столбцов). Это хороший способ справиться или есть лучший способ справиться с этим.

1 Ответ

1 голос
/ 13 июня 2019

На этот вопрос не существует ответа «один размер подходит всем».Это зависит от типа и контекста данных, предметной или бизнес-потребности в данных и многих других факторов.Тем не менее, вот несколько предложений, которые можно рассмотреть.

  1. Выполните объединение данных.Например, список названий городов можно объединить в меньшее количество категорий в зависимости от местоположения (часть страны), численности населения, погодных условий и так далее.Опять же, это будет зависеть от бизнес-контекста.Это поможет сократить количество категорий.

  2. Применить кодирование меток к данным.Кодирование меток обычно хорошо работает на основе алгоритмов, основанных на деревьях, а не однократного кодирования.

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

Итак, подведем итог - если решение не выглядит «очевидным», попробуйте все варианты ипосмотрите, какой из них работает лучше всего.

Кроме того, необходимо учитывать особый случай "новой категории" в тестовых данных, иначе модель не сможет работать.

...