É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
Instructions
- Importez le module
statsdu packagescipy. - Ajustez la distribution
exponnormà la variable continuemonthly_incomepour obtenir les paramètres de la distribution et générer ensuite les échantillons. - Échantillonnez à partir de la distribution
exponnormet remplacezmonthly_incomeen 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())