Le bon, le mauvais et le laid de Pd.Get_Dummies
Les avantages et inconvénients de Pd.Get_Dummies
Ceci est pour les passionnés de pd.get_dummies
Bonjour tout le monde 🤠
D’accord, je comprends. L’un des moyens les plus simples de convertir une variable catégorielle en un tableau de variables factices en Python est d’utiliser la fonction pd.get_dummies()
de Pandas. Pourquoi prendriez-vous le temps d’importer OneHotEncoder
de sklearn, d’exécuter un .fit_transform()
, etc, etc, etc? Parlez d’une corvée!
Cet article présentera d’abord un ensemble de données simple à des fins de démonstration, qui comprend un ensemble de test contenant des variables catégorielles non présentes dans l’ensemble d’entraînement. Ensuite, il démontrera comment l’utilisation de pd.get_dummies()
peut entraîner des problèmes avec les données de démonstration. Et enfin, il montrera comment éviter ce problème avec le OneHotEncoder
de sklearn.
![](https://miro.medium.com/v2/resize:fit:640/format:webp/1*HALimVGptodJt8TziSKVVA.png)
Un ensemble de données simple pour la démonstration
Nous avons ici un ensemble de données simple qui inclut une variable catégorielle appelée OS. La colonne OS répertorie les systèmes d’exploitation informatiques. Nous utiliserons ces données fictives à des fins de démonstration. Dans train_df
, nous aurons des données d’entraînement fictives pour la démonstration. Tandis que dans test_df
, nous aurons des données de test fictives pour la démonstration.
- openCypher* contre n’importe quelle base de données relationnelle
- Liste doublement chaînée dans les structures de données et les algorithmes
- Une approche d’apprentissage automatique pour prédire le statut de méthylation MGMT chez les patients atteints de glioblastome
Dans notre cas de démonstration fictif, l’ensemble de test contient des valeurs catégorielles non présentes dans l’ensemble d’entraînement. Ce désaccord causera des problèmes.
import pandas as pdtrain_df = pd.DataFrame({'OS': ['Windows', 'MacOS', 'Linux', 'Windows', 'MacOS']})test_df = pd.DataFrame({'OS': ['Windows', 'MacOS', 'Android', 'Unix' 'iOS']})
Dans nos données d’entraînement, nous avons trois systèmes d’exploitation : Windows, MacOS et Linux. Mais dans nos données de test, nous avons des catégories supplémentaires, notamment Android, Unix et iOS.
Un modèle ajusté sur train_df.get_dummies()
ne fonctionnera pas avec les données de test de test_df.get_dummies()
. Les résultats ne correspondent pas.
![Crédit de l'image: Illustration de l'auteur créée avec Canva en utilisant des images de stock Canva. Un mannequin d'art.](https://miro.medium.com/v2/resize:fit:640/format:webp/1*fhY68eUCdHVp224_veDNzw.png)
Le problème avec pd.get_dummies()
Lorsque vous appliquez la fonction pd.get_dummies()
à la fois à nos ensembles de données d’entraînement et de test, voici ce que vous obtiendrez.
We will continue to update IPGirl; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles
- Explication du document sur les Graph Attention Networks avec illustration et implémentation PyTorch
- VoAGI News, 26 juillet Formation gratuite à l’IA générative de Google • Guide du débutant en ingénierie des données • GPT-Engineer Votre nouvel assistant de codage IA
- Débloquez la puissance de l’IA – une sortie spéciale par VoAGI et Machine Learning Mastery
- Le guide essentiel pour l’ingénierie des instructions dans ChatGPT
- Comment devrions-nous stocker les images d’IA ? Les chercheurs de Google proposent une méthode de compression d’image utilisant des modèles génératifs basés sur les scores.
- Version élégante de la commande et configuration du modèle LLM avec spacy-llm
- Transformez les images de mode en vidéos photoréalistes époustouflantes avec le framework d’IA DreamPose.