8638843e51 | ||
---|---|---|
UDF | ||
data | ||
is-mechanisms | ||
mechanisms | ||
src | ||
.gitignore | ||
LICENSE | ||
README.md | ||
requirements.txt |
README.md
IncreSyn: An Efficient Framework for Incremental Differentially Private Synthetic Data
Introduction
This code base contains two construction examples of IncreSyn, constructed with two state-of-art iterative data synthesis mechanisms based on graph model, the MWEM+PGM and AIM.
For more details on Private-PGM, please visit Private-PGM.
These files also have two additional dependencies: Ektelo and autograd.
File structure
- mechanisms - Contains IncreSyn constructions which are modified for the original data synthesis of IncreSyn.
- is-mechanisms - Contains IncreSyn constructions for the incremetal data synthesis and some dataset utility tools.
- data - Contains datasets, selected cliques produced in the original data synthesis, and preferred cliques.
- src - Contains some dependencies of PGM-based mechanisms.
- UDF - Contains example UDFs.
Usage
-
Before we start, if you are only testing non-UDF parts, you could remove the
pycopg2
andsqlalchemy
in therequirements.txt
. Moreover, when you are testing the UDF part in a Linux system likeUbuntu
, you should check whetherpython-psycopg2
andlibpq-dev
are installed, or you should useapt
to get them before you solve the requirements. -
Solve the dependencies with
requirements.txt
. Note that we only support Python 3.
$ pip install -r requirements.txt
- Export the
src
file to path. For example, in Windows, you may use:
$Env:PYTHONPATH += ";X:\IncreSyn\src"
- Run the mechanism in
mechanisms
for original data synthesis, then run the corresponding mechanism underis-mechanisms
.
Utility usage
\is-mechanisms\werror.py
- Calculate the workload error for a given preferred attributes fileprefer.csv
.
UDF usage
See README.md
in /UDF
.