Échantillonnage à 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 même temps, il permet aux personnes autorisées de réaliser une analyse statistique précise 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 l'ajustement le plus approprié. Utilisez-la pour modéliser les revenus.
Le jeu de données est disponible sous le nom hr.
Cette activité fait partie du cours
Confidentialité des données et anonymisation en Python
Instructions de l’exercice
- Importez le module
statsdu paquetscipy. - Ajustez la distribution
exponnormà la variable continuemonthly_incomepour obtenir les paramètres de la distribution, puis générer des échantillons. - Échantillonnez à partir de la distribution
exponnormet remplacezmonthly_incomeà l'aide de la méthode.rvs(). Indiquez une taille égale à la longueur de la colonne. - Arrondissez les salaires à l'entier le plus près.
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())