forêt aléatoire onehotencoder

Aug 31 2020

Dans un contexte de forêt aléatoire, dois-je configurer des mannequins / OnehotEncoder dans un ensemble de données où les entités / variables sont numériques mais font référence à une sorte de catégorie?

Disons que j'ai les variables suivantes:

Yest la variable que je veux prédire. X'ssont des fonctionnalités.

Je vais me concentrer sur X1. Son numérique, mais se réfère à une catégorie spécifique (c.-à-d. 1 fait référence aux mathématiques, 2 fait référence à la littérature et 3 à l'histoire). Dois-je appliquer OnehotEncoder (ou approche factice) pour un algorithme de forêt aléatoire?

Je suppose que je n'ai pas besoin de le faire, mais je ne suis pas sûr.

Réponses

1 Josh Aug 31 2020 at 10:44

En théorie, les catégories elles-mêmes peuvent être traitées dans les arbres de décision. Cependant, la plupart des implémentations de python ne fonctionneront qu'avec des nombres, vous devez donc les convertir. On dirait que vous l'avez déjà. OneHot Encoding est un moyen de le faire, mais maintenant que vous l'avez fait, ce n'est pas nécessaire. Vous pouvez essayer d'autres schémas pour les transformer en 1 2 3, s'il n'y a pas de raison logique pour que vous les ayez de cette façon. C'est ce qu'on appelle le codage catégorique. Une méthode courante consiste à les classer par ordre alphabétique et à les numéroter. Une autre façon, dans l'ordre de leur fréquence. En fin de compte, cela n'aura pas beaucoup d'importance car la forêt aléatoire classera le nombre en fonction de son algorithme. Cela pourrait cependant faire des différences mineures, alors essayez peut-être différentes manières. Mais non, vous n'aurez pas besoin d'encoder vos catégories par OneHot car ce sont déjà des nombres.