Выборка из наилучшего непрерывного распределения
Случайная выборка из хорошо подобранного вероятностного распределения помогает защитить конфиденциальность данных. При этом она позволяет уполномоченным сторонам проводить точный статистический анализ.
В этом упражнении вы выполните анонимизацию столбца monthly_income из набора данных IBM. На предыдущем уроке было установлено, что наилучшим образом подходит непрерывное распределение exponnorm. Используйте его для моделирования доходов.
Набор данных доступен в переменной hr.
Это упражнение является частью курса
Конфиденциальность данных и анонимизация в Python
Инструкции к упражнению
- Импортируйте модуль
statsиз пакетаscipy. - Подберите распределение
exponnormдля непрерывной переменнойmonthly_income, чтобы получить параметры распределения и затем сгенерировать выборку. - Сгенерируйте выборку из распределения
exponnormи замените значенияmonthly_incomeс помощью метода.rvs(). Укажите размер выборки, равный длине столбца. - Округлите значения зарплат до ближайшего целого числа.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Import stats from scipy
____
# Fit the exponnorm distribution to the continuous variable monthly income
params = ____
# Sample from the exponnorm distribution and replace monthly income
hr['monthly_income'] = ____
# Round the salaries to their closest integer
hr['monthly_income'] = ____
# See the resulting dataset
print(hr.head())