Peut sklearn forêt aléatoire de traiter directement catégorique fonctionnalités?
Dire que j'ai catégorique de la fonctionnalité, de la couleur, qui prend les valeurs
['rouge', 'bleu', 'vert', 'orange'],
et je veux l'utiliser pour prédire quelque chose dans une forêt aléatoire. Si je "one-hot" coder (c'est à dire je l'ai changer pour quatre variables muettes), comment dois-je dire à sklearn que les quatre variables muettes sont vraiment une variable? Plus précisément, lorsque sklearn est au hasard de sélectionner les fonctions à utiliser dans les différents nœuds, il devrait inclure le rouge, le bleu, le vert et l'orange mannequins ensemble, ou il ne devrait pas inclure l'un d'eux.
J'ai entendu dire qu'il n'y a aucun moyen de le faire, mais j'imagine que il doit y avoir un moyen de traiter avec les variables catégorielles sans arbitrairement de codage comme des numéros ou quelque chose comme ça.
- Cela a été utile et très longue date renforcer la demande sur sklearn depuis 2014. Une considération est de savoir s'ils doivent prioriser la mise en œuvre de la nouvelle pandas Catégorique ou générique numpy.
- Double Possible de Comment gérer les variables catégorielles dans sklearn GradientBoostingClassifier?
Vous devez vous connecter pour publier un commentaire.
Non, il n'y en a pas. Quelqu'un le travail sur ce et le timbre peut être fusionné dans le réseau principal d'un jour, mais pour l'instant il n'y a pas de support pour les variables catégorielles dans scikit-learn, sauf factice ("one-hot") codage.
La plupart des implémentations de la forêt au hasard (et de nombreux autres algorithmes d'apprentissage automatique) qui acceptent catégorique entrées sont juste à l'automatisation de l'encodage des catégorique de fonctionnalités pour vous ou à l'aide d'une méthode qui devient mathématiquement insoluble pour un grand nombre de catégories.
Une exception notable est H2O. H2O est très méthode efficace pour la manipulation de données catégorielles directement, ce qui donne souvent un avantage sur l'arbre en fonction des méthodes qui nécessitent une-chaude-encodage.
Cet article Va McGinnis a une très bonne discussion de " one-hot-encodage et alternatives.
Cet article de Nick Dingwall et Chris Potts a une très bonne discussion sur les variables catégorielles et de l'arbre en fonction des apprenants.
Vous avez à faire la variable catégorique en une série de variables muettes. Oui, je sais que c'est agaçant et semble inutile, mais c'est la façon dont sklearn œuvres.
si vous utilisez des pandas. utiliser la mp.get_dummies, il fonctionne vraiment bien.