IniziaInizia gratis

Prevedere gli stipendi

In questo esercizio userai il dataset del censimento dei redditi per prevedere se le persone hanno uno stipendio superiore a $50K/anno oppure no.

Ricorda che quando crei il modello privato dovresti specificare i limiti come parametro, per evitare ulteriore perdita di privacy o fuoriuscite di informazioni. Di solito puoi scegliere i limiti in modo indipendente dai dati, usando la conoscenza del dominio oppure effettuando una ricerca con un istogramma DP.

Il dataset è stato caricato e diviso in X_train, y_train, X_test e y_test. Il classificatore è disponibile come dp_GaussianNB.

Questo esercizio fa parte del corso

Riservatezza dei dati e anonimizzazione in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Imposta i limiti del modello calcolando i valori min e max nei dati di training e aggiungendo rumore casuale sottraendo e aggiungendo numeri casuali in un intervallo da 5 a 40 per le 5 colonne dei nostri dati.
  • Crea un classificatore dp_GaussianNB con un epsilon di 0.5 e i limiti creati in precedenza.
  • Esegui il fit del modello sui dati e osserva lo score.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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))
Modifica ed esegui il codice