CommencerCommencer 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

Confidentialité des données et anonymisation en Python

Afficher le cours

Instructions

  • 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 cet exemple de code.

# 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