def satisfies_dp(sensitivity, epsilon, delta, std):
'''
Return True if (epsilon, delta)-differential privacy is satisfied.
'''
# find lowest value at which epsilon differential-privacy is satisfied
lower_x = -(float(epsilon) * (std**2.0) / sensitivity) + sensitivity/2.0
# determine lower tail probability of normal distribution w/ mean of zero
lower_tail_prob = scipy.stats.norm.cdf(lower_x, 0, std)
# explicitly return Boolean value to avoid returning numpy type
if (lower_tail_prob <= delta):
return True
else:
return False
评论列表
文章目录