Il semble que vous compreniez que vous pouvez avoir des n
niveaux, par opposition à n-1
, car contrairement à la régression linéaire, vous n'avez pas à vous soucier de la colinéarité parfaite.
(J'y arrive dans une perspective R, mais je suppose que c'est la même chose en Python.) Cela dépend de deux choses, telles que 1) quel package vous utilisez et 2) combien de niveaux de facteur vous avez.
1) Si vous utilisez le randomForest
package de R , alors si vous avez <33 niveaux de facteur, vous pouvez continuer et les laisser dans une fonction si vous le souhaitez. En effet, dans la mise en œuvre aléatoire de la forêt de R, il vérifiera quels niveaux de facteurs doivent être d'un côté de la division et lesquels de l'autre (par exemple, 5 de vos niveaux peuvent être regroupés sur le côté gauche et 7 peuvent être groupés ensemble à droite). Si vous divisez la caractéristique catégorielle en n
variables muettes, l'algorithme n'aurait pas cette option à sa disposition.
Évidemment, si le package que vous utilisez en particulier ne peut pas gérer les fonctionnalités catégorielles, il vous suffit de créer n
des variables factices.
2) Comme je l'ai mentionné ci-dessus, l'implémentation de forêt aléatoire de R ne peut gérer que 32 niveaux de facteurs - si vous en avez plus, vous devez soit diviser vos facteurs en sous-ensembles plus petits, soit créer une variable fictive pour chaque niveau.
randomForest
sont codées automatiquement, je devrais aller avec desn
nuls car la colinéarité n'est pas un problème pour RF?