LoslegenKostenlos loslegen

Gehälter vorhersagen

In dieser Übung verwendest du den Census-Income-Datensatz, um vorherzusagen, ob Personen ein Gehalt von mehr als 50.000 $ pro Jahr haben oder nicht.

Denk daran, beim Erstellen des privaten Modells die Grenzen als Parameter anzugeben, um zusätzlichen Privatsphärenverlust oder Informationsleckagen zu vermeiden. In der Regel kannst du die Grenzen unabhängig von den Daten wählen — mithilfe von Domänenwissen oder durch eine Suche mit einem DP-Histogramm.

Der Datensatz wurde geladen und in X_train, y_train, X_test und y_test aufgeteilt. Der Klassifikator ist als dp_GaussianNB verfügbar.

Diese Übung ist Teil des Kurses

Datenschutz und Anonymisierung mit Python

Kurs anzeigen

Anleitung zur Übung

  • Setze die Grenzen des Modells, indem du die min- und max-Werte in den Trainingsdaten berechnest und für die 5 Spalten unserer Daten zusätzlich Rauschen hinzufügst, indem du Zufallszahlen im Bereich von 5 bis 40 subtrahst bzw. addierst.
  • Erstelle einen dp_GaussianNB-Klassifikator mit einem Epsilon von 0.5 und den zuvor erstellten Grenzen.
  • Trainiere das Modell auf den Daten und sieh dir den Score an.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Set the min and max of bounds for the data and add noise using random
bounds = (X_train.____(axis=0) - random.____(range(5, 40), 5), 
          ____)

# Built the classifier with epsilon of 0.5
dp_clf = ____(epsilon=____, bounds=____)

# Fit the model to the data and print the score
____
print("The accuracy of the differentially private model is ",
       dp_clf.score(X_test, y_test))
Code bearbeiten und ausführen