Parece que comprende que puede tener n
niveles, en lugar de hacerlo n-1
, porque a diferencia de la regresión lineal, no necesita preocuparse por una colinealidad perfecta.
(Llego a esto desde una perspectiva R, pero supongo que es lo mismo en Python). Eso depende de un par de cosas, como 1) qué paquete está usando y 2) cuántos niveles de factor tiene.
1) Si está utilizando el randomForest
paquete de R , entonces si tiene <33 niveles de factor, puede continuar y dejarlos en una función si lo desea. Esto se debe a que en la implementación de bosque aleatorio de R, verificará qué niveles de factores deben estar en un lado de la división y cuáles en el otro (por ejemplo, 5 de sus niveles podrían agruparse en el lado izquierdo y 7 podrían agruparse juntos a la derecha). Si divide la característica categórica en n
dummies, entonces el algoritmo no tendría esta opción a su disposición.
Obviamente, si el paquete particular que está utilizando no puede manejar características categóricas, entonces solo necesitaría crear n
variables ficticias.
2) Como mencioné anteriormente, la implementación de bosque aleatorio de R solo puede manejar 32 niveles de factores; si tiene más que eso, entonces necesita dividir sus factores en subconjuntos más pequeños o crear una variable ficticia para cada nivel.
randomForest
se codifican automáticamente, debería ir conn
dummies porque la colinealidad no es un problema para RF.