Python 中的数据隐私与匿名化
Rebeca Gonzalez
Instructor



同一私有查询以 $\epsilon$ = 1 执行两次,相当于一次 $\epsilon$ = 2 的查询
第三方可以对答案取平均,滤除噪声。

记住 epsilon 以指数方式影响隐私。

from diffprivlib import BudgetAccountantacc = BudgetAccountant(epsilon=5) acc
BudgetAccountant(epsilon=5)
# 使用 epsilon=0.5 计算薪资的私有均值 # 使用预算记账器 acc,并将取值范围设为 0 到 230000 dp_mean = tools.mean(salaries, epsilon=0.5, accountant=acc, bounds=(0, 230000))# 打印得到的私有均值 print("Private mean: ", dp_mean)
Private mean: 82524.72611901595
# 已消耗的隐私总量 print("Total spent: ", acc.total())# 剩余隐私预算 print("Remaining budget: ", acc.remaining())# 到目前为止的查询总数 print("Number of queries recorded: ", len(acc))
Total spent: (epsilon=0.5, delta=0.0)Remaining budget: (epsilon=4.5, delta=1.0)Number of queries recorded: 1
# 2 次查询可用的剩余隐私预算
print("Remaining budget for 2 queries: ", acc.remaining(2))
Remaining budget for 2 queries: (epsilon=2.25, delta=1.0)
Python 中的数据隐私与匿名化