该项目包含一组ε-和(ε,δ)-不同私有算法的库,可用于对包含私有或敏感信息的数字数据集生成聚合统计数据。该功能目前在C++、Go和Java中可用。
我们还提供了拉普拉斯和高斯机制的实现,可以用来执行我们的预构建算法不包括的计算。
一种随机测试器,用于帮助捕获可能使差别私有属性不再有效的回归。
光束上的隐私-构建在Apache Beamand Go差分私密库之上的端到端差分隐私解决方案。
为了运行差异私有库,您需要安装Bazel(如果您还没有Bazel)。按照Bazel网站上针对您的平台的说明进行操作。
如果您还没有Git,您还需要安装它。按照Git网站上针对您的平台的说明进行操作。
一旦您安装了Bazel和Git,打开一个终端并将差异隐私目录克隆到本地文件夹中:
导航到您刚刚创建的Differential-Privacy文件夹,并使用Bazel构建差异保密库和依赖项:
在构建PostgreSQL扩展时,您可能需要安装其他依赖项,例如在Ubuntu上,您将需要以下软件包:
差异隐私要求每个用户对单个分区的最大贡献量有一定的限制。图书馆不会执行这样的绑定。
库实现假设每个用户只向每个分区贡献一行。它既不核实也不强制执行这一点;它仍然有责任对数据进行预处理以强制执行这一界限。
我们选择不在库级别实现这一步骤,因为它不是它的逻辑位置-它更容易按用户对贡献进行排序,并在它们重新传递给我们的算法之前将它们与分布式处理框架结合在一起。您可以使用该库来构建允许每个用户多次投稿的系统--我们的论文描述了一个这样的系统。要做到这一点,在将多个用户贡献传递给我们的算法之前,应该将它们组合在一起。
我们将继续发布库的更新和改进。我们短期内不会接受拉取请求。我们将对本项目中提出的问题作出回应。如果我们打算停止发布改进和回应问题,我们将至少提前3个月在这里发布通知。
我们总是热衷于听到这个库在帮助您解决哪些用例。请发送电子邮件至[email protected],告知您的使用案例以及我们还能为您做些什么。请不要向我们发送任何个人身份信息。如果您希望删除您以前发送的邮件,请与我们联系。