Il semble facile de coder plusieurs variables catégorielles à chaud à la fois en utilisant la méthode get_dummies, mais comment se rappeler laquelle est telle que mes données de test ont la même fonctionnalité que mes données d'entraînement? par exemple:pandas get_dummies comment se souvenir quelle valeur deviens quelle nouvelle catégorie?
Mon jeu de données de formation a une fonction CATÉGORIQUE:
X
cat
dog
lion
lion
après get_dummies, je suis quelque chose comme ceci:
X_1 X_2 X_3
1 0 0
0 1 0
0 0 1
0 0 1
après modèle de formation, je suis prêt à tester ma magie impressionnante modèle et voici les données de test:
X
cat
cat
lion
si j'applique les méthodes pd.get_dummies, Je vais obtenir quelque chose comme ceci:
X_1 X_2
1 0
1 0
0 1
qui sera incompatible avec mes fonctions de données de train et je ne peux pas tout simplement appliquer mon modèle aux données de test.
des suggestions afin que je puisse obtenir un peu comme ce qui suit?
X_1 X_2 X_3
1 0 0
1 0 0
0 0 1
Comment puis-je obtenir une fonctionnalité d'ajustement et de transformation? encore une fois, j'ai plus de 50 caractéristiques catégorielles et je ne peux pas appliquer LabelEncoder et One_Hot_Encoder à eux un par un.
Une suggestion? Je vous remercie.
Version courte: définissez les catégories à l'avance et transtypez le type en catégorie. Maintenant, lorsque vous appelez get_dummies, les pandas génèrent des colonnes pour toutes les catégories, même si elles n'existent pas dans cet ensemble de données particulier. – ayhan
Oh wow ... il y a une dupe ... et la solution est merveilleuse –
@ayhan, la réponse dans la pose que vous avez mentionnée est assez pratique s'il y a une poignée de fonctionnalités, et s'il y a plus de 50 fonctionnalités de catégorie ... alternatives? – user6396