Le package randomForest de R ne peut pas gérer le facteur avec plus de 32 niveaux. Lorsqu'il reçoit plus de 32 niveaux, il émet un message d'erreur:
Ne peut pas gérer les prédicteurs catégoriels avec plus de 32 catégories.
Mais les données dont je dispose ont plusieurs facteurs. Certains d'entre eux ont plus de 1000 niveaux et certains ont 100+. Il a même un «état» des États-Unis qui est de 52.
Alors, voici ma question.
Pourquoi y a-t-il une telle limitation? randomForest refuse d'exécuter même pour le cas simple.
> 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.
Si cela est simplement dû à une limitation de la mémoire, comment le programme randomForeestRegressor de scikit learn peut-il fonctionner avec plus de 32 niveaux?
Quelle est la meilleure façon de gérer ce problème? Supposons que j'ai X1, X2, ..., X50 variables indépendantes et Y est variable dépendante. Et supposons que X1, X2 et X3 aient plus de 32 niveaux. Que devrais-je faire?
Ce à quoi je pense, c'est d'exécuter un algorithme de clustering pour chacun des X1, X2 et X3 où la distance est définie comme la différence en Y. Je vais exécuter trois groupements car il y a trois variables problématiques. Et dans chaque clustering, j'aimerais pouvoir trouver des niveaux similaires. Et je vais les fusionner.
Comment ça sonne?
randomForest
peut gérer des prédicteurs catégoriques avec jusqu'à 53 niveaux. Actualités