Случайный лесной классификатор для категориальных данных? - PullRequest
0 голосов
/ 10 января 2020

Я недавно использовал регрессию случайных лесов и получаю потрясающие результаты. Я читал в Интернете, что вы можете использовать классификатор случайных лесов для категориальных данных, и я погуглил некоторые примеры этого, но я не смог найти ничего очень полезного. Я видел пару статей об одномоментном кодировании категориальных данных в числовые данные, но, насколько я знаю, это не очень хорошая идея для методологии Random Forest. Если вы действительно можете использовать метод случайного леса для прогнозирования результатов на основе категориальных данных, пожалуйста, поделитесь несколькими ресурсами (ссылки, код и т. Д. c.). Я хотел бы проверить эту концепцию. Я просто не могу найти хороший учебник по этой теме c. Я работаю в среде Python. Спасибо.

1 Ответ

1 голос
/ 10 января 2020

Для регрессии и бинарной классификации реализации деревьев решений (и, следовательно, RF) должны иметь возможность работать с категориальными данными. Идея представлена ​​в оригинальной статье CART (1984) и говорит, что можно найти наилучшее разделение, рассматривая категории в порядке их среднего значения, а затем рассматривать их как таковые. Вы можете найти объяснение проблемы здесь
Для мультиклассовой классификации проблема немного сложнее.

В любом случае, этот метод МОЖЕТ привести к некоторому переоснащению, так как вы на самом деле используете некоторое целевое кодирование (это не должно быть слишком большой проблемой для радиочастот, может быть, больше для усиленных машин). Однако многие реализации не допускают автоматического разбиения c на категориальные переменные, поэтому полезно знать лучшие методы кодирования в деревьях. Я предлагаю эту среднюю статью и эту запись в блоге.

Наконец, некоторые реализации по-разному и эффективно работают с категориальными данными. Я предлагаю взглянуть на реализацию H2O , которая использует хороший метод биннинга для быстрого разделения.

...