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.

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.

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.

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!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

AI

Les États-Unis et l'Union européenne concluent enfin un accord tant attendu sur le partage des données

L'accord met fin à l'incertitude juridique pour Meta, Google et des dizaines d'entreprises - du moins pour le moment.

Apprentissage automatique

L'apprentissage en profondeur creuse profondément l'IA dévoile de nouvelles images à grande échelle dans le désert péruvien.

Des chercheurs de l’Université de Yamagata au Japon ont exploité l’IA pour découvrir quatre géoglyphes pr...

Actualités sur l'IA

Robots de livraison de nourriture Uber Eats prêts à être utilisés dans plusieurs villes américaines.

La société de robots de service Serve Robotics a déclaré qu'Uber Eats déploiera jusqu'à 2 000 de ses robots de livrai...

AI

Des chercheurs chinois proposent StructGPT pour améliorer la capacité de raisonnement à zéro-shot des LLMs sur des données structurées.

Les grands modèles de langage (LLM) ont récemment réalisé des progrès significatifs dans le traitement du langage nat...

AI

Productivité alimentée par l'IA l'IA générative ouvre une nouvelle ère d'efficacité dans tous les secteurs

Un moment décisif le 22 novembre 2022 a été principalement virtuel, mais il a ébranlé les fondements de presque toute...