Дослідження даних із обліковцем бюджету конфіденційності
Системи дослідження даних, що забезпечують диференційовану конфіденційність, мають керувати бюджетом конфіденційності, який вимірює обсяг втрати приватності через кілька запитів.
У цій вправі ви дослідите набір даних IBM HR Analytics Employee Attrition & Performance, відстежуючи наш бюджет конфіденційності. Пам'ятайте: якщо запит перевищує бюджет конфіденційності, заданий в обліковці (accountant), виникне помилка.
Гістограма — корисний інструмент для візуалізації даних у диференційовано конфіденційний спосіб. Синтаксис такий самий, як у відповідної функції в numpy, але з параметром epsilon.
Повний набір даних доступний як hr, а атрибут віку співробітників — як ages. Користувацьку функцію для побудови гістограми show_histogram() вже створено та завантажено — використайте її так само, як ви робили раніше в курсі.
Ця вправа є частиною курсу
Конфіденційність даних і анонімізація в Python
Інструкції до вправи
- Створіть обліковця бюджету конфіденційності
BudgetAccountantзepsilonрівним1.5, використавши його конструктор. - Згенеруйте приватну гістограму зі стовпця
agesзі значеннямepsilon0.1. - Отримайте й покажіть приватне середнє для
ages, використавшиepsilon0.9та межі від10до100як кортеж. - Виведіть залишок бюджету конфіденційності для двох наступних нових запитів.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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))