CommencerCommencer gratuitement

Prédire les salaires

Dans cet exercice, vous utiliserez le jeu de données de revenus du recensement pour prédire si des personnes gagnent plus de 50 000 $ par 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 de confidentialité supplémentaire ou fuite d’information. En général, vous pouvez choisir ces bornes indépendamment des données, en vous appuyant sur la connaissance métier ou en les recherchant avec un histogramme DP.

Le jeu de données a été chargé et scindé en X_train, y_train, X_test et y_test. Le classifieur est disponible sous le nom dp_GaussianNB.

Cet exercice fait partie du cours

Confidentialité des données et anonymisation en Python

Afficher le cours

Instructions

  • Définissez les bornes du modèle en calculant les valeurs min et max dans les données d’entraînement, puis en ajoutant du bruit aléatoire en soustrayant et ajoutant des nombres aléatoires compris entre 5 et 40 pour les 5 colonnes de nos données.
  • Créez un classifieur dp_GaussianNB avec un epsilon de 0.5 et les bornes définies précédemment.
  • Entraînez le modèle sur les données et affichez le score.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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))
Modifier et exécuter le code