Explorando dados com um controlador de orçamento de privacidade
Sistemas de exploração de dados que oferecem privacidade diferencial precisam gerenciar um orçamento de privacidade que mede a quantidade de privacidade perdida ao longo de múltiplas consultas.
Neste exercício, você vai explorar o conjunto de dados IBM HR Analytics Employee Attrition & Performance enquanto acompanha o nosso orçamento de privacidade. Lembre-se de que, se uma consulta ultrapassar o orçamento de privacidade especificado no controlador, ocorrerá um erro.
O histograma é uma ferramenta valiosa para visualizar os dados de forma diferencialmente privada. A sintaxe é a mesma da função correspondente no numpy, com um parâmetro epsilon.
O conjunto de dados completo está disponível como hr e o atributo de idade dos funcionários como ages. Uma função personalizada foi criada e carregada como show_histogram() para plotar o histograma como você fez anteriormente no curso.
Este exercício faz parte do curso
Privacidade de Dados e Anonimização em Python
Instruções do exercício
- Crie um
BudgetAccountantde privacidade comepsilonde1.5, usando o construtor. - Gere um histograma privado da coluna
agescom valor deepsilonigual a0.1. - Obtenha e mostre a média privada de
ages, usandoepsilonde0.9e limites de10a100como uma tupla. - Imprima o orçamento de privacidade restante para as duas novas consultas a seguir.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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))