CommencerCommencez gratuitement

Échantillonner à partir de la meilleure distribution continue

L’échantillonnage aléatoire à partir d’une distribution de probabilité bien ajustée aide à préserver la confidentialité. En parallèle, il permet aux parties autorisées de mener une analyse statistique fiable des données.

Dans cet exercice, vous allez anonymiser la colonne monthly_income du jeu de données d’IBM. Dans la leçon précédente, vous avez déterminé que la distribution continue exponnorm était la mieux adaptée. Utilisez-la pour modéliser les revenus.

Le jeu de données est disponible sous le nom hr.

Cet exercice fait partie du cours

<cours>Confidentialité des données et anonymisation en Python</cours>
Voir le cours

Instructions de l’exercice

  • Importez le module stats du package scipy.
  • Ajustez la distribution exponnorm à la variable continue monthly_income pour obtenir les paramètres de la distribution et générer ensuite les échantillons.
  • Échantillonnez à partir de la distribution exponnorm et remplacez monthly_income en utilisant la méthode .rvs(). Spécifiez une taille identique à la longueur de la colonne.
  • Arrondissez les salaires à l’entier le plus proche.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Import stats from scipy
____

# Fit the exponnorm distribution to the continuous variable monthly income
params = ____

# Sample from the exponnorm distribution and replace monthly income
hr['monthly_income'] = ____

# Round the salaries to their closest integer
hr['monthly_income'] = ____

# See the resulting dataset
print(hr.head())
Modifier et exécuter le code