Я работаю над набором данных с 200 000+ выборок и примерно 50 объектами на выборку: 10 непрерывных переменных, а остальные ~ 40 являются категориальными переменными (страны, языки, научные области и т. Д.). Для этих категориальных переменных у вас есть, например, 150 разных стран, 50 языков, 50 научных областей и т. Д.
Пока что мой подход:
Для каждой категориальной переменной с множеством возможных значений возьмите только ту, которая имеет более 10000 выборок, которые принимают это значение. Это уменьшает до 5-10 категорий вместо 150.
Создайте фиктивную переменную для каждой категориальной (если 10 стран, то для каждого образца добавьте двоичный вектор размером 10).
Заполните эти данные случайным классификатором леса (проверьте параметры и т. Д.).
В настоящее время с таким подходом мне удается получить только 65% точности, и я чувствую, что можно сделать больше. Особенно меня не устраивает мой 1), так как я чувствую, что не должен произвольно удалять «наименее релевантные значения» в соответствии с количеством выборок, которые они имеют, потому что эти менее представленные значения могут быть более дискриминационными. С другой стороны, моя оперативная память не может позволить себе добавлять в данные 500 столбцов * 200000 строк, сохраняя все возможные значения.
Будете ли вы предлагать справиться с такими категориальными переменными?