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

Изучение данных с помощью счётчика приватного бюджета

Системы исследования данных с поддержкой дифференциальной приватности должны управлять бюджетом приватности — он измеряет суммарную потерю приватности при выполнении нескольких запросов.

В этом упражнении вы будете исследовать набор данных 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))
Редактировать и запускать код