Aan de slagGa gratis aan de slag

Salarissen voorspellen

In deze oefening gebruik je de census-inkomensgegevens om te voorspellen of iemand meer dan $50K/jaar verdient of niet.

Vergeet niet dat je bij het maken van het private model de grenzen als parameter moet opgeven, zodat er geen extra privacyverlies of informatielek optreedt. Meestal kun je de grenzen onafhankelijk van de data kiezen, op basis van domeinkennis of door te zoeken met een DP-histogram.

De gegevensset is geladen en opgesplitst in X_train, y_train, X_test en y_test. De classifier is beschikbaar als dp_GaussianNB.

Deze oefening maakt deel uit van de cursus

Dataprivacy en anonimisering in Python

Cursus bekijken

Oefeninstructies

  • Stel de grenzen van het model in door de min- en max-waarden in de trainingsdata te berekenen en willekeurige ruis toe te voegen door respectievelijk willekeurige getallen in het bereik 5 tot 40 af te trekken en op te tellen voor de 5 kolommen in onze data.
  • Maak een dp_GaussianNB-classifier met een epsilon van 0.5 en de zojuist bepaalde grenzen.
  • Fit het model op de data en bekijk de score.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren