Прогнозування рівня зарплат
У цій вправі ви використаєте набір даних про доходи з перепису, щоб передбачити, чи мають люди річний дохід понад $50K, чи ні.
Пам'ятайте, що під час створення приватної моделі слід указати межі як параметр, щоб уникнути додаткових втрат приватності та витоку інформації. Зазвичай межі можна обрати незалежно від даних — на основі предметної експертизи або за допомогою пошуку з DP-гістограмою.
Набір даних уже завантажено та розділено на X_train, y_train, X_test і y_test. Класифікатор доступний як dp_GaussianNB.
Ця вправа є частиною курсу
Конфіденційність даних і анонімізація в Python
Інструкції до вправи
- Встановіть межі моделі, обчисливши значення
minіmaxу тренувальних даних та додавши випадковий шум: відніміть і додайте випадкові числа в діапазоні від 5 до 40 для 5 стовпців наших даних. - Створіть класифікатор dp_GaussianNB з епсилоном
0.5і раніше визначеними межами. - Навчіть модель на даних і подивіться оцінку (score).
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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))