НачатьНачать бесплатно

Прогнозирование зарплаты

В этом упражнении вы будете использовать набор данных о доходах населения, чтобы предсказать, превышает ли годовая зарплата человека 50 000 долларов.

Помните, что при создании приватной модели необходимо задавать границы в качестве параметра — это позволяет избежать дополнительных потерь конфиденциальности и утечки информации. Как правило, границы можно выбирать независимо от данных: на основе экспертных знаний о предметной области или с помощью поиска через дифференциально приватную гистограмму.

Набор данных уже загружен и разбит на X_train, y_train, X_test и y_test. Классификатор доступен как dp_GaussianNB.

Это упражнение является частью курса

Конфиденциальность данных и анонимизация в Python

Посмотреть курс

Инструкции к упражнению

  • Задайте границы модели, вычислив значения min и max в обучающих данных и добавив случайный шум: вычтите и прибавьте случайные числа в диапазоне от 5 до 40 для каждого из 5 столбцов набора данных.
  • Создайте классификатор dp_GaussianNB со значением epsilon 0.5 и ранее заданными границами.
  • Обучите модель на данных и оцените результат.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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))
Редактировать и запускать код