Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz BudgetAccountant z wartością epsilon równą 1.5, korzystając z jego konstruktora.
  • Wygeneruj prywatny histogram na podstawie kolumny ages z wartością epsilon równą 0.1.
  • Oblicz i wyświetl prywatną średnią dla ages, używając epsilon o wartości 0.9 i granic od 10 do 100 jako 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))
Edytuj i uruchom kod