Изучение данных с помощью счётчика приватного бюджета
Системы исследования данных с поддержкой дифференциальной приватности должны управлять бюджетом приватности — он измеряет суммарную потерю приватности при выполнении нескольких запросов.
В этом упражнении вы будете исследовать набор данных IBM HR Analytics Employee Attrition & Performance, отслеживая расходование бюджета приватности. Помните: если запрос превышает заданный в счётчике бюджет, возникает ошибка.
Гистограмма — удобный инструмент для визуализации данных с соблюдением дифференциальной приватности. Синтаксис аналогичен соответствующей функции в numpy, с добавлением параметра epsilon.
Полный набор данных доступен как hr, а атрибут возраста сотрудников — как ages. Пользовательская функция show_histogram() уже загружена — она строит гистограмму так же, как вы делали это ранее в курсе.
Это упражнение является частью курса
Конфиденциальность данных и анонимизация в Python
Инструкции к упражнению
- Создайте счётчик приватного бюджета
BudgetAccountantсо значениемepsilonравным1.5, используя его конструктор. - Сгенерируйте приватную гистограмму по столбцу
agesсо значениемepsilonравным0.1. - Получите и выведите приватное среднее значение
ages, используяepsilonравным0.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))