Prédire les salaires
Dans cet exercice, vous utiliserez l'ensemble de données sur le revenu du recensement pour prédire si des personnes gagnent plus de 50 000 $/an ou non.
N'oubliez pas que vous devez préciser les bornes comme paramètre lors de la création du modèle privé afin d'éviter toute perte additionnelle de confidentialité ou fuite d'information. En général, vous pouvez choisir les bornes indépendamment des données, en vous basant sur vos connaissances du domaine ou en les recherchant avec un histogramme DP.
L'ensemble de données a été chargé et séparé en X_train, y_train, X_test et y_test. Le classifieur est disponible sous le nom dp_GaussianNB.
Cette activité fait partie du cours
Confidentialité des données et anonymisation en Python
Instructions de l’exercice
- Définissez les bornes du modèle en calculant les valeurs
minetmaxdans les données d'entraînement, puis en ajoutant du bruit aléatoire en soustrayant et en ajoutant des nombres aléatoires dans un intervalle de 5 à 40 pour les 5 colonnes de nos données. - Créez un classifieur dp_GaussianNB avec un epsilon de
0.5et les bornes définies précédemment. - Ajustez le modèle aux données et consultez le score.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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))