Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment utiliser Pandas Get Dummies – pd.get_dummies



Souvent, en statistiques, les ensembles de données avec lesquels nous travaillons incluent des variables catégorielles .

Ce sont des variables qui prennent des noms ou des étiquettes. Les exemples comprennent:

  • État civil (« marié », « célibataire », « divorcé »)
  • Statut de fumeur (« fumeur », « non-fumeur »)
  • Couleur des yeux (« bleu », « vert », « noisette »)
  • Niveau d’études (par exemple « lycée », « licence », « maîtrise »)

Lors de l’ajustement d’algorithmes d’apprentissage automatique (comme la régression linéaire , la régression logistique , les forêts aléatoires , etc.), nous convertissons souvent les variables catégorielles en variables factices , qui sont des variables numériques utilisées pour représenter des données catégorielles.

Par exemple, supposons que nous ayons un ensemble de données contenant la variable catégorielle Gender . Pour utiliser cette variable comme prédicteur dans un modèle de régression, il faudrait d’abord la convertir en variable muette.

Pour créer cette variable muette, nous pouvons choisir l’une des valeurs (« Mâle ») pour représenter 0 et l’autre valeur (« Femme ») pour représenter 1 :

Comment créer des variables factices dans Pandas

Pour créer des variables factices pour une variable dans un DataFrame pandas, nous pouvons utiliser la fonction pandas.get_dummies() , qui utilise la syntaxe de base suivante :

pandas.get_dummies(data, prefix=Aucun, columns=Aucun, drop_first=False)

où:

  • data : Le nom du pandas DataFrame
  • prefix : une chaîne à ajouter au début de la nouvelle colonne de variable factice
  • columns : Le nom de la ou des colonnes à convertir en variable factice
  • drop_first : s’il faut ou non supprimer la première colonne de variable factice

Les exemples suivants montrent comment utiliser cette fonction dans la pratique.

Exemple 1 : créer une seule variable factice

Supposons que nous ayons le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'income': [45, 48, 54, 57, 65, 69, 78],
                   'age': [23, 25, 24, 29, 38, 36, 40],
                   'gender': ['M', 'F', 'M', 'F', 'F', 'F', 'M']})

#view DataFrame
df

        income	age	gender
0	45	23	M
1	48	25	F
2	54	24	M
3	57	29	F
4	65	38	F
5	69	36	F
6	78	40	M

Nous pouvons utiliser la fonction pd.get_dummies() pour transformer le genre en variable factice :

#convert gender to dummy variable
pd.get_dummies(df, columns=['gender'], drop_first=True)

	income	age	gender_M
0	45	23	1
1	48	25	0
2	54	24	1
3	57	29	0
4	65	38	0
5	69	36	0
6	78	40	1

La colonne sexe est désormais une variable fictive où :

  • Une valeur de 0 représente « Femme »
  • Une valeur de 1 représente « Homme »

Exemple 2 : créer plusieurs variables factices

Supposons que nous ayons le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'income': [45, 48, 54, 57, 65, 69, 78],
                   'age': [23, 25, 24, 29, 38, 36, 40],
                   'gender': ['M', 'F', 'M', 'F', 'F', 'F', 'M'],
                   'college': ['Y', 'N', 'N', 'N', 'Y', 'Y', 'Y']})

#view DataFrame
df

	income	age	gender	college
0	45	23	M	Y
1	48	25	F	N
2	54	24	M	N
3	57	29	F	N
4	65	38	F	Y
5	69	36	F	Y
6	78	40	M	Y

Nous pouvons utiliser la fonction pd.get_dummies() pour convertir le sexe et l’université en variables factices :

#convert gender to dummy variable
pd.get_dummies(df, columns=['gender', 'college'], drop_first=True)


        income	age	gender_M  college_Y
0	45	23	1	  1
1	48	25	0	  0
2	54	24	1	  0
3	57	29	0	  0
4	65	38	0	  1
5	69	36	0	  1
6	78	40	1	  1

La colonne sexe est désormais une variable fictive où :

  • Une valeur de 0 représente « Femme »
  • Une valeur de 1 représente « Homme »

Et la colonne collège est désormais une variable muette où :

  • Une valeur de 0 représente « Non » université
  • Une valeur de 1 représente « Oui » au collège

Ressources additionnelles

Comment utiliser des variables factices dans l’analyse de régression
Qu’est-ce que le piège variable factice ?

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *