R-пакет randomForest R не може обробляти коефіцієнт з більш ніж 32 рівнями. Коли йому задано більше 32 рівнів, він видає повідомлення про помилку:
Не може працювати з категоричними прогнозами з більш ніж 32 категоріями.
Але у мене є кілька факторів. Деякі з них мають рівні 1000+, а деякі - 100+. У неї навіть є "держава" Сполучених Штатів, яка становить 52 роки.
Отже, ось моє запитання.
Чому існує таке обмеження? randomForest відмовляються запускатись навіть для простого випадку.
> d <- data.frame(x=factor(1:50), y=1:50) > randomForest(y ~ x, data=d) Error in randomForest.default(m, y, ...) : Can not handle categorical predictors with more than 32 categories.
Якщо це просто через обмеження пам’яті, то як scikit може засвоїти випадковий ForeestRegressor з більш ніж 32 рівнями?
Який найкращий спосіб вирішити цю проблему? Припустимо, у мене X1, X2, ..., X50 незалежні змінні, а Y - залежна змінна. І припустимо, що X1, X2 і X3 має понад 32 рівні. Що я повинен зробити?
Я думаю про те, що це алгоритм кластеризації для кожного з X1, X2 і X3, де відстань визначається як різниця в Y. Я запускаю три кластеризації, оскільки є три проблемні змінні. І в кожному кластері я б хотів знайти схожі рівні. І я злитлю їх.
Як це звучить?