Go to file
MaySeek 8638843e51 Upload files 2023-11-16 15:38:14 +08:00
UDF Upload files 2023-11-16 15:38:14 +08:00
data Upload files 2023-11-16 15:38:14 +08:00
is-mechanisms Upload files 2023-11-16 15:38:14 +08:00
mechanisms Upload files 2023-11-16 15:38:14 +08:00
src Upload files 2023-11-16 15:38:14 +08:00
.gitignore Upload files 2023-11-16 15:38:14 +08:00
LICENSE Upload files 2023-11-16 15:38:14 +08:00
README.md Upload files 2023-11-16 15:38:14 +08:00
requirements.txt Upload files 2023-11-16 15:38:14 +08:00

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

  1. Before we start, if you are only testing non-UDF parts, you could remove the pycopg2 and sqlalchemy in the requirements.txt. Moreover, when you are testing the UDF part in a Linux system like Ubuntu, you should check whether python-psycopg2 and libpq-dev are installed, or you should use apt to get them before you solve the requirements.

  2. Solve the dependencies with requirements.txt. Note that we only support Python 3.

$ pip install -r requirements.txt
  1. Export the src file to path. For example, in Windows, you may use:
$Env:PYTHONPATH += ";X:\IncreSyn\src"
  1. Run the mechanism in mechanisms for original data synthesis, then run the corresponding mechanism under is-mechanisms.

Utility usage

  • \is-mechanisms\werror.py - Calculate the workload error for a given preferred attributes file prefer.csv.

UDF usage

See README.md in /UDF.