CommencezCommencez gratuitement

Explorer des données avec un contrôleur de budget de confidentialité

Les systèmes d'exploration de données qui offrent 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 l'ensemble de données IBM HR Analytics Employee Attrition & Performance tout en suivant notre budget de confidentialité. Rappelez-vous que si une requête dépasse le budget de confidentialité défini dans le contrôleur, une erreur survient.

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

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

Cette activité fait partie du cours

Confidentialité des données et anonymisation en Python

Voir le cours

Instructions de l’exercice

  • 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.
  • Obtenez 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 ce code d’exemple.

# 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