Wygląda na to, że rozumiesz, że możesz mieć npoziomy, w przeciwieństwie do n-1, ponieważ w przeciwieństwie do regresji liniowej nie musisz martwić się o idealną kolinearność.
(Podchodzę do tego z perspektywy R., ale zakładam, że tak samo jest w Pythonie.) To zależy od kilku rzeczy, takich jak 1) jakiego pakietu używasz i 2) ile poziomów czynników masz.
1) Jeśli używasz randomForestpakietu R , to jeśli masz <33 poziomy współczynników, możesz iść dalej i pozostawić je w jednej funkcji, jeśli chcesz. Jest tak, ponieważ w losowej implementacji lasu R sprawdzi, które poziomy czynników powinny znajdować się po jednej stronie podziału, a które po drugiej (np. 5 z twoich poziomów może być zgrupowanych po lewej stronie, a 7 może być zgrupowanych razem po prawej). Jeśli podzielisz funkcję kategorialną na nmanekiny, algorytm nie będzie miał do dyspozycji tej opcji.
Oczywiście, jeśli konkretny pakiet, którego używasz, nie obsługuje funkcji jakościowych, musisz po prostu utworzyć nzmienne zastępcze.
2) Jak wspomniałem powyżej, losowa implementacja lasu R może obsłużyć tylko 32 poziomy czynników - jeśli masz ich więcej, musisz podzielić swoje czynniki na mniejsze podzbiory lub utworzyć zmienną zastępczą dla każdego poziomu.
randomForestjakościowe są kodowane automatycznie, powinienem pójść znmanekinami, ponieważ kolinearność nie jest problemem dla RF?