De garder la même variable muette dans la formation et de données de test

Je suis la construction d'un modèle de prédiction en python, avec deux de formation et d'ensembles de test. La formation contient des données numériques de type variable catégorique, par exemple, le code postal,[91521,23151,12355, ...], et aussi de la chaîne de variables catégorielles, par exemple, la ville de ['Chicago', 'New York', 'Los Angeles', ...].

Pour former les données, j'ai d'abord utiliser la mp.get_dummies' pour obtenir la variable muette de ces variables, puis l'ajustement du modèle avec la transformation des données d'entraînement.

Je fais la même transformation sur mes données de test et de prédire le résultat en utilisant le modèle appris. Cependant, j'ai eu l'erreur 'ValueError: Nombre de caractéristiques du modèle doit correspondre à l'entrée. Modèle n_features est 1487 et entrée n_features est de 1345 '. La raison en est parce qu'il y a moins de variables muettes dans les données de test, car il a moins de "ville" et "code postal".

Comment puis-je résoudre ce problème? Par exemple, 'OneHotEncoder" ne codent tous type numérique variable catégorique. 'DictVectorizer()' ne codent tous type de chaîne variable catégorique. J'ai effectuer une recherche en ligne et de voir un peu des questions similaires, mais aucun d'entre eux aborde vraiment à ma question.

La manipulation catégorique fonctionnalités à l'aide de scikit-learn

https://www.quora.com/If-the-training-dataset-has-more-variables-than-the-test-dataset-what-does-one-do

https://www.quora.com/What-is-the-best-way-to-do-a-binary-one-hot-one-of-K-coding-in-Python

InformationsquelleAutor nimning | 2016-12-26