ComenzarEmpieza gratis

Predecir salarios

En este ejercicio, usarás el conjunto de datos de ingresos del censo para predecir si las personas tienen un salario de más de 50.000 $/año o no.

Recuerda que debes especificar los límites como parámetro al crear el modelo privado para garantizar que no haya pérdida adicional de privacidad ni filtración de información. Normalmente, puedes elegir los límites de forma independiente de los datos, usando conocimiento del dominio o buscando con un histograma DP.

El conjunto de datos se ha cargado y dividido en X_train, y_train, X_test y y_test. El clasificador está disponible como dp_GaussianNB.

Este ejercicio forma parte del curso

Privacidad de datos y anonimización en Python

Ver curso

Instrucciones del ejercicio

  • Establece los límites del modelo calculando los valores min y max en los datos de entrenamiento y añadiendo ruido aleatorio restando y sumando números aleatorios en un rango de 5 a 40 para las 5 columnas de nuestros datos.
  • Crea un clasificador dp_GaussianNB con un epsilon de 0.5 y los límites creados previamente.
  • Ajusta el modelo a los datos y consulta la puntuación.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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))
Editar y ejecutar código