Researches on data privacy have lasted for more than ten years, lots of great papers have been published. However, only a few open source projects are available on Internet [2-3], most open source projects are using algorithms proposed before 2004! Fewer projects have been used in real life. Worse more, most people even don't hear about it. Such a tragedy!
I decided to make some effort. Hoping these open source repositories can help researchers and developers on data privacy (privacy preserving data publishing).
I used both adult and INFORMS dataset in this implementation. For clarification, we transform NCP to percentage, making the NCP (information loss) more meaningful (NCP=2000 v.s. NCP=20%, the former one is sensitive to size of dataset, the latter one is suit for any dataset). This NCP percentage (also called GCP[4]) is computed by dividing NCP value with the number of values in dataset (the number of values can be treated as losing all information).
My Implementation is based on Python 2.7 (not Python 3.0). Please make sure your Python environment is collect installed. You can run Mondrian in following steps:
-
Download (or clone) the whole project.
-
Check datasets and generalization hierarchies
#dataset adult.data
adult_1.txt
-
Run "anonymized.py" in root dir with CLI.
python anonymizer.py
python anonymized.py 20
-
Run unit test in root dir with CLI.
python -m unittest discover . "*_test.py"
-
Test Distribution:
celery -A tasks worker --loglevel=info
-
Parameters
['dataset', 'algorithm']
['dataset', 'algorithm', 'anon', {k:10, data:10000, qi:[1,2,3]}]
['dataset', 'algorithm', 'eval', 'k']
['dataset', 'algorithm', 'eval', 'k', 'd', 'data']
-
JSON for PPDPES
{"anon":{"k":10, "data": 1000, "d":[1,2,3]}} #eval JSON {"eval":["k", "d", "data"]}
[1] K. LeFevre, D. J. DeWitt, R. Ramakrishnan. Workload-aware Anonymization. Proceedings of the 12th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, ACM, 2006, 277-286
[3] ARX- Powerful Data Anonymization
[4] G. Ghinita, P. Karras, P. Kalnis, N. Mamoulis. Fast data anonymization with low information loss. Proceedings of the 33rd international conference on Very large data bases, VLDB Endowment, 2007, 758-769
========================== by Qiyuan Gong qiyuangong@gmail.com
2015-12-22