我目前正在开发一个差异隐私应用项目,我想试验一下UCI机器学习库中的数据。
我的问题是,当涉及将数据集导出到MySQL,PostgreSQL甚至nosql等数据库引擎时,我有点使用这种存储库。
所以,我的问题是如何在数据库引擎中使用这种存储库中的任何数据集。
我打算使用这个数据集 https://archive.ics.uci.edu/ml/datasets/Communities+and+Crime
答案 0 :(得分:1)
免责声明:我对此也没有经验。
由于标记为postgresql,我会给出答案,尽管mysql的作用相似。
由于这看起来像CSV文件,您可以创建一个包含给定列(@attribute)的表(@relation)。您必须查看每列以查看相应的类型,例如数字可能是integer
或某种numeric/decimal
类型,字符串可以是char
或varchar
类型。
create table crimepredict (
state int,
county int,
community int,
communityname varchar(255),
fold int,
population decimal(3,2),
...
)
然后您可以使用COPY
命令
copy crimepredict from '/path/to/communities.data' null '?' delimiter ',' quote '' format csv;
我不知道,如果quote ''
有效。如果没有,则必须在导入之前准备数据文件,并使用双引号包装社区名称。
答案 1 :(得分:1)
尽管这个问题有点老了,但由于涉及的是差异隐私领域,因此它还是非常相关的。在接触者追踪和社交距离应用的情况下,差异隐私的整个范式变得越来越重要。在这三年中,差异隐私的范式已经有了显着发展。
根据问题的敏感度添加噪音是差异隐私的核心。目前,有两种方法可以保护差异性隐私。保护数据集的噪声要么在收集信息的一方事实之后添加(称为集中式差分隐私),要么将噪声直接内置到收集数据的行为中(本地差分隐私或随机响应)。在本地版本中,甚至没有一个原始的“真实”数据库可以安全保存-信息的拥有者从来没有把它放在第一位。
因此,在现代方法中并不总是需要定制数据库引擎。话虽如此,请允许我分享Uber的一个归档项目,该项目已尝试出于差异性隐私目的定制数据库引擎。请在这里找到它。
Uber Tool for Applying Differential Privacy to SQL Queries
此存储库包含查询分析和重写框架,以对通用SQL查询强制实施不同的保密性。重写引擎可以自动将输入查询转换为本质上私有的查询,该查询直接在查询中嵌入差异隐私机制。转换后的查询会在结果上施加差异性隐私,并且可以在任何标准SQL数据库上执行。这种方法支持许多最新的差分隐私机制。该代码包括基于弹性敏感度和Sample and Aggregate方法的重写器。
最近,有些有趣的工具无需使用自定义数据库或自定义查询语言就可以动态地对数据实施差异隐私。 Immuta是这方面的领先者之一。