Eksploracja danych z użyciem księgowego budżetu prywatności
Systemy eksploracji danych zapewniające prywatność różnicową muszą zarządzać budżetem prywatności, który mierzy łączną utratę prywatności w kolejnych zapytaniach.
W tym ćwiczeniu przeprowadzisz eksplorację zbioru danych IBM HR Analytics Employee Attrition & Performance, śledząc jednocześnie budżet prywatności. Pamiętaj, że jeśli zapytanie przekroczy budżet określony w księgowym, zostanie zgłoszony błąd.
Histogram to przydatne narzędzie do wizualizacji danych w sposób zgodny z prywatnością różnicową. Składnia jest taka sama jak w odpowiedniej funkcji biblioteki numpy, z dodatkowym parametrem epsilon.
Pełny zbiór danych jest dostępny jako hr, a atrybut wieku pracowników jako ages. Niestandardowa funkcja show_histogram() została już wczytana – służy do rysowania histogramu, tak jak robiono to wcześniej w kursie.
To ćwiczenie jest częścią kursu
Prywatność danych i anonimizacja w Pythonie
Instrukcje do ćwiczenia
- Utwórz
BudgetAccountantz wartościąepsilonrówną1.5, korzystając z jego konstruktora. - Wygeneruj prywatny histogram na podstawie kolumny
agesz wartościąepsilonrówną0.1. - Oblicz i wyświetl prywatną średnią dla
ages, używającepsilono wartości0.9i granic od10do100jako krotki. - Wydrukuj pozostały budżet prywatności dla dwóch kolejnych nowych zapytań.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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))