LoslegenKostenlos starten

Daten erkunden mit einem Privacy-Budget-Accountant

Systeme zur Datenexploration, die Differential Privacy bereitstellen, müssen ein Privacy-Budget verwalten, das den Verlust an Privatsphäre über mehrere Abfragen hinweg misst.

In dieser Übung erkundest du den Datensatz IBM HR Analytics Employee Attrition & Performance und behältst dabei unser Privacy-Budget im Blick. Denk daran: Wenn eine Abfrage das im Accountant festgelegte Privacy-Budget überschreitet, tritt ein Fehler auf.

Das Histogramm ist ein wertvolles Werkzeug, um Daten differenziell privat zu visualisieren. Die Syntax entspricht der entsprechenden Funktion in numpy, mit einem zusätzlichen Epsilon-Parameter.

Der vollständige Datensatz ist als hr verfügbar und das Altersattribut der Mitarbeitenden als ages. Eine benutzerdefinierte Funktion wurde als show_histogram() erstellt und geladen, um das Histogramm so zu plotten, wie du es zuvor im Kurs gemacht hast.

Diese Übung ist Teil des Kurses

<Kurs>Datenschutz und Anonymisierung mit Python</Kurs>
Kurs ansehen

Übungsanweisungen

  • Erstelle einen Privacy-BudgetAccountant mit einem epsilon von 1.5, indem du den Konstruktor verwendest.
  • Erzeuge ein privates Histogramm aus der Spalte ages mit einem epsilon-Wert von 0.1.
  • Ermittle und zeige den privaten Durchschnitt von ages unter Verwendung eines epsilon von 0.9 und Grenzen von 10 bis 100 als Tupel.
  • Gib das verbleibende Privacy-Budget für die zwei folgenden neuen Abfragen aus.

Interaktive praktische Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

# 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))
Code bearbeiten und ausführen