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
Anleitung zur Übung
- Setze die Grenzen des Modells, indem du die
min- undmax-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.5und 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))