Explorar datos con un gestor de presupuesto de privacidad
Los sistemas de exploración de datos que ofrecen privacidad diferencial deben gestionar un presupuesto de privacidad que mide la cantidad de privacidad perdida a lo largo de múltiples consultas.
En este ejercicio, vas a explorar el conjunto de datos IBM HR Analytics Employee Attrition & Performance mientras controlas el presupuesto de privacidad. Recuerda que, si una consulta supera el presupuesto de privacidad definido en el gestor, se producirá un error.
El histograma es una herramienta muy útil para visualizar los datos de forma diferencialmente privada. La sintaxis es la misma que la función correspondiente en numpy, con un parámetro epsilon.
El conjunto de datos completo está disponible como hr y la columna de edad de los empleados como ages. Se ha creado y cargado una función personalizada, show_histogram(), para trazar el histograma tal y como hiciste antes en el curso.
Este ejercicio forma parte del curso
Privacidad de datos y anonimización en Python
Instrucciones del ejercicio
- Crea un
BudgetAccountantcon unepsilonde1.5, utilizando su constructor. - Genera un histograma privado de la columna
agescon unepsilonde0.1. - Obtén y muestra la media privada de
ages, usando unepsilonde0.9y unos límites de10a100como tupla. - Imprime el presupuesto de privacidad restante para las dos siguientes consultas.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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))