CommencerCommencer gratuitement

Explorer des données avec un gestionnaire de budget de confidentialité

Les systèmes d’exploration de données qui offrent de la confidentialité différentielle doivent gérer un budget de confidentialité, qui mesure la quantité de confidentialité perdue au fil de plusieurs requêtes.

Dans cet exercice, vous allez explorer le jeu de données IBM HR Analytics Employee Attrition & Performance tout en suivant notre budget de confidentialité. N’oubliez pas que si une requête dépasse le budget de confidentialité défini dans le gestionnaire, une erreur se produit.

L’histogramme est un outil précieux pour visualiser les données de manière différentiellement privée. La syntaxe est la même que celle de la fonction correspondante de numpy, avec un paramètre epsilon.

L’ensemble de données complet est disponible sous hr et l’attribut d’âge des employés sous ages. Une fonction personnalisée a été créée et chargée sous show_histogram() pour tracer l’histogramme comme vous l’avez fait plus tôt dans le cours.

Cet exercice fait partie du cours

Confidentialité des données et anonymisation en Python

Afficher le cours

Instructions

  • Créez un BudgetAccountant de confidentialité avec un epsilon de 1.5, en utilisant son constructeur.
  • Générez un histogramme privé à partir de la colonne ages avec une valeur d’epsilon de 0.1.
  • Récupérez et affichez la moyenne privée de ages, en utilisant un epsilon de 0.9, et des bornes de 10 à 100 sous forme de tuple.
  • Affichez le budget de confidentialité restant pour les deux nouvelles requêtes suivantes.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Create the privacy Budget Accountant with epsilon of 1.5
acc = ____

# Use the Budget Accountant acc to draw a private histogram of ages with epsilon 0.1
dp_hist, dp_bins = tools.___(____, epsilon=____, range=[10,100], accountant=____)
show_histogram(dp_hist, dp_bins)

# Get and show the private average of the age variable
print("Mean: ", tools.mean(____))

# Show privacy budget remaining for 2 queries
print("Remaining budget for 2 queries: ", ____)
print("Number of queries recorded: ", len(acc))
Modifier et exécuter le code