跳转到主要内容

pyCANON,一个用于检查数据集匿名程度级别的Python库

项目描述

License Documentation Status Pipeline Status

pyCANON是一个Python库和CLI,用于评估与最常见匿名技术相关的参数值。

作者: Judith Sáinz-Pardo Díaz 和 Álvaro López García (IFCA - CSIC)。

安装

我们建议使用Python3和virtualenv

virtualenv .venv -p python3
source .venv/bin/activate

然后运行以下命令来安装库及其所有依赖项

pip install pycanon

如果您还想安装允许生成报告PDF文件的功能,请按以下方式安装

pip install pycanon[PDF]

文档

pyCANON的文档托管在Read the Docs

入门

使用adult数据集的示例

import pandas as pd
from pycanon import anonymity, report

FILE_NAME = "adult.csv"
QI = ["age", "education", "occupation", "relationship", "sex", "native-country"]
SA = ["salary-class"]
DATA = pd.read_csv(FILE_NAME)

# Calculate k for k-anonymity:
k = anonymity.k_anonymity(DATA, QI)

# Print the anonymity report:
report.print_report(DATA, QI, SA)

描述

pyCANON允许检查以下隐私保护技术是否得到验证以及与每个技术相关的参数值。

技术

pyCANON函数

参数

备注

k-匿名性

k_anonymity

k:int

(α, k)-匿名性

alpha_k_anonymity

α:float k:int

ℓ-多样性

l_diversity

:int

熵ℓ-多样性

entropy_l_diversity

:int

递归(c,ℓ)-多样性

recursive_c_l_diversity

c:int :int

如果ℓ=1则不计算

基本β相似度

basic_beta_likeness

β:float

增强β相似度

enhanced_beta_likeness

β:float

t-接近度

t_closeness

t:float

对于数值属性,使用EMD(一维地球移动距离)的定义。对于分类属性,使用“等距离”度量。

δ-披露隐私

delta_disclosure

δ:float

更多信息请参阅这篇论文

此外,可以获得一份报告,其中包含等价类信息和数据的有用性。特别是,对于后者,实现了以下三个经典度量(如文档中定义):平均等价类大小、分类度量和解晰度度量。

引用

如果您正在使用pyCANON,您可以如下引用它

@article{sainzpardo2022pycanon,
   title={A Python library to check the level of anonymity of a dataset},
   author={S{\'a}inz-Pardo D{\'\i}az, Judith and L{\'o}pez Garc{\'\i}a, {\'A}lvaro},
   journal={Scientific Data},
   volume={9},
   number={1},
   pages={785},
   year={2022},
   publisher={Nature Publishing Group UK London}}

致谢

作者们感谢欧洲联盟-下一代欧盟(欧盟2020/2094号法规)的资金支持,通过西班牙国家研究委员会(CSIC)的全球健康平台(PTI+ Salud Global)以及“欧洲开放科学云的人工智能”(AI4EOSC)项目的支持,该项目已从欧盟的“地平线欧洲”研究和创新计划获得资金,合同编号为101058593。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

pycanon-1.0.1.post2.tar.gz (20.0 kB 查看散列)

上传时间 源代码

构建分发

pycanon-1.0.1.post2-py3-none-any.whl (30.8 kB 查看散列)

上传时间 Python 3

由以下支持