Utforska data med en integritetsbudget
System för datautforskning med differentiell integritet måste hantera en integritetsbudget som mäter hur mycket integritet som förbrukas vid flera frågor.
I den här övningen utforskar du IBM HR Analytics Employee Attrition & Performance-datasetet och håller samtidigt koll på integritetsbudgeten. Kom ihåg att ett fel uppstår om en fråga överskrider den budget som angetts i kontot.
Histogrammet är ett användbart verktyg för att visualisera data på ett differentiellt privat sätt. Syntaxen är densamma som för motsvarande funktion i numpy, men med en epsilon-parameter.
Hela datasetet är tillgängligt som hr och de anställdas åldersattribut som ages. En anpassad funktion har skapats och laddats som show_histogram() för att rita histogrammet på samma sätt som du gjort tidigare i kursen.
Den här övningen är en del av kursen
Dataintegritet och anonymisering i Python
Övningsinstruktioner
- Skapa ett
BudgetAccountantför integritet med ettepsilon-värde på1.5, med hjälp av dess konstruktor. - Generera ett privat histogram från kolumnen
agesmed ettepsilon-värde på0.1. - Hämta och visa det privata medelvärdet för
agesmed ettepsilonpå0.9och gränser från10till100som en tupel. - Skriv ut den återstående integritetsbudgeten för de två efterföljande nya frågorna.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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))