Data verkennen met een privacybudget-accountant
Systemen voor dataverkenning die differential privacy bieden, moeten een privacybudget beheren dat meet hoeveel privacy verloren gaat over meerdere query’s.
In deze oefening verken je de IBM HR Analytics Employee Attrition & Performance-gegevensset terwijl je ons privacybudget bijhoudt. Onthoud: als een query het in de accountant opgegeven privacybudget overschrijdt, krijg je een foutmelding.
Het histogram is een handig hulpmiddel om gegevens differentieel privé te visualiseren. De syntaxis is hetzelfde als de overeenkomstige functie in numpy, met een extra epsilon-parameter.
De volledige gegevensset is beschikbaar als hr en het attribuut met de leeftijd van werknemers als ages. Er is een aangepaste functie geladen als show_histogram() om het histogram te plotten, zoals je eerder in de cursus hebt gedaan.
Deze oefening maakt deel uit van de cursus
Dataprivacy en anonimisering in Python
Oefeninstructies
- Maak een privacy-
BudgetAccountantmet eenepsilonvan1.5via de constructor. - Genereer een privé-histogram van de kolom
agesmet eenepsilon-waarde van0.1. - Haal en toon het private gemiddelde van
ages, met eenepsilonvan0.9en grenzen van10tot100als een tuple. - Print het resterende privacybudget voor de twee nieuwe volgende query’s.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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))