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
Oefeninstructies
- Stel de grenzen van het model in door de
min- enmax-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.5en 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))