Esplorare i dati con un gestore del budget di privacy
I sistemi di esplorazione dei dati che applicano la differential privacy devono gestire un budget di privacy che misura la quantità di privacy persa su più query.
In questo esercizio esplorerai l'insieme di dati IBM HR Analytics Employee Attrition & Performance tenendo traccia del nostro budget di privacy. Ricorda che, se una query supera il budget di privacy specificato nel gestore, si verifica un errore.
L'istogramma è uno strumento prezioso per visualizzare i dati in modo differenzialmente privato. La sintassi è la stessa della funzione corrispondente in numpy, con un parametro epsilon.
L’intero insieme di dati è disponibile come hr e l’attributo età dei dipendenti come ages. È stata creata e caricata una funzione personalizzata show_histogram() per tracciare l’istogramma come hai già fatto in precedenza nel corso.
Questo esercizio fa parte del corso
Riservatezza dei dati e anonimizzazione in Python
Istruzioni dell'esercizio
- Crea un
BudgetAccountantconepsilonpari a1.5, usando il relativo costruttore. - Genera un istogramma privato dalla colonna
agescon un valore diepsilonpari a0.1. - Ottieni e mostra la media privata di
ages, usando unepsilondi0.9e limiti da10a100come tupla. - Stampa il budget di privacy rimanente per le due nuove query successive.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# Create the privacy Budget Accountant with epsilon of 1.5
acc = ____
# Use the Budget Accountant acc to draw a private histogram of ages with epsilon 0.1
dp_hist, dp_bins = tools.___(____, epsilon=____, range=[10,100], accountant=____)
show_histogram(dp_hist, dp_bins)
# Get and show the private average of the age variable
print("Mean: ", tools.mean(____))
# Show privacy budget remaining for 2 queries
print("Remaining budget for 2 queries: ", ____)
print("Number of queries recorded: ", len(acc))