XGBoost - Страна Функция должна быть помечена или один горячий код? - PullRequest
0 голосов
/ 15 апреля 2019

В нашей модели есть особенность страны, и мы используем для нее кодировщик меток, например:

BEL - 1, US - 2, ENG - 3,

etc ...

Какова лучшая практика для модели XGBoost - использовать ее в качестве числового числа или выполнить горячее кодирование для этого?

Спасибо, Таль

1 Ответ

0 голосов
/ 16 апреля 2019

Золотого стандарта не существует.

ОХЕ безопаснее, поскольку не вводит искусственный порядок в категориях. С другой стороны, это увеличивает объем памяти для объектов с несколькими уникальными значениями, и деревья могут попытаться найти баланс между разбиениями по числовым функциям и такими дополнительными группами новых функций OHE. Зачастую (на основе соревнований в kaggle) кодирование меток работает так же хорошо или лучше, чем OHE.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...