PyDP
1.1.4
在当今数据驱动的世界中,越来越多的研究人员和数据科学家使用机器学习来创建更好的模型或更创新的解决方案,以创造更美好的未来。
这些模型通常倾向于处理敏感或个人数据,这可能会导致隐私问题。例如,一些人工智能模型可以记住他们所训练的数据的详细信息,并且可能会在以后泄露这些详细信息。
为了帮助衡量敏感数据泄露并减少其发生的可能性,有一个称为差异隐私的数学框架。
2020 年,OpenMined 为 Google 的差异隐私项目创建了一个 Python 包装器,名为 PyDP。该库提供了一组 ε-差分私有算法,可用于生成包含私有或敏感信息的数字数据集的聚合统计信息。因此,使用 PyDP,您可以控制用 Python 编写的模型的隐私保证和准确性。
关于 PyDP 需要记住的事情:
要安装 PyDP,请使用 PyPI 包管理器:
pip install python-dp
(如果您单独为 Python 3.x 安装了pip3
,请使用pip3 install python-dp
。)
请参阅精选的教程和示例代码列表,了解有关 PyDP 库的更多信息。
您还可以开始了解 PyDP(Jupyter 笔记本)和胡萝卜演示(Python 文件)。
示例:计算有界平均值
# Import PyDP
import pydp as dp
# Import the Bounded Mean algorithm
from pydp . algorithms . laplacian import BoundedMean
# Calculate the Bounded Mean
# Basic Structure: `BoundedMean(epsilon: float, lower_bound: Union[int, float, None], upper_bound: Union[int, float, None])`
# `epsilon`: a Double, between 0 and 1, denoting the privacy threshold,
# measures the acceptable loss of privacy (with 0 meaning no loss is acceptable)
x = BoundedMean ( epsilon = 0.6 , lower_bound = 1 , upper_bound = 10 )
# If the lower and upper bounds are not specified,
# PyDP automatically calculates these bounds
# x = BoundedMean(epsilon: float)
x = BoundedMean ( 0.6 )
# Calculate the result
# Currently supported data types are integers and floats
# Future versions will support additional data types
# (Refer to https://github.com/OpenMined/PyDP/blob/dev/examples/carrots.py)
x . quick_result ( input_data : list )
访问资源以了解有关差异隐私的更多信息。
请参阅底层 Google 差分隐私库的攻击模型,以详细了解我们对安全使用 PyDP 的假设和要求。
如果您对 PyDP 库有疑问,请加入 OpenMined 的 Slack 并查看#lib_pydp频道。要跟踪代码源更改,请加入#code_dp_python 。
要为 PyDP 项目做出贡献,请阅读指南。
欢迎请求请求。如果您想引入重大更改,请先打开一个问题来讨论您想要更改的内容。
请确保适当更新测试。
阿帕奇许可证 2.0