Prevendo salários
Neste exercício, você vai usar o conjunto de dados de renda do censo para prever se as pessoas têm salário acima de US$ 50 mil/ano ou não.
Lembre-se de que você deve especificar os limites (bounds) como parâmetro ao criar o modelo privado para garantir que não haja perda adicional de privacidade ou vazamento de informação. Normalmente, você pode escolher os limites de forma independente dos dados, usando conhecimento de domínio ou buscando com um histograma DP.
O conjunto de dados já foi carregado e dividido em X_train, y_train, X_test e y_test. O classificador está disponível como dp_GaussianNB.
Este exercício faz parte do curso
Privacidade de Dados e Anonimização em Python
Instruções do exercício
- Defina os limites do modelo calculando os valores
minemaxnos dados de treino e adicionando ruído aleatório ao subtrair e somar números aleatórios no intervalo de 5 a 40 para as 5 colunas do nosso conjunto de dados. - Crie um classificador dp_GaussianNB com epsilon igual a
0.5e os limites definidos anteriormente. - Ajuste (fit) o modelo aos dados e verifique o score.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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))