Impact of using synthetic data on MIA and AIA
API documentation
The documentation is generated using sphinx.
To view it, clone the repo and use your web browser to open docs/build/html/index.html.
To regenerate the API documentation:
sphinx-apidoc -f -F -o docs src;
sphinx-build -M html docs docs/build/
Tests
Unit tests are setup in the test directory.
They use the python unittest packages.
To run all tests:
python -m unittest discover -v -p "*.py" -s test
Installation
Instal with pip in a venv.
In the directory containing pyproject.toml :
pip install --editable .
Usage
Running experiments through the command line interface
python -m synthetic_aia_mia.experiments.adult <generator> <k>;
- Generator is either identity or ctgan.
- k folding step in 0,1,2,3,4.
Key features
from synthetic_aia_mia.fetch_data import adult
from synthetic_aia_mia.fetch_data import utk
data_adult = adult.load()
data_utk = utk.load()
form synthetic.predictor.adult import AdultNN
adultNN = AdultNN()
adultNN.fit(data_adult["train"])
adultNN.predict(data_adult["test"])
from synthetic_aia_mia.generator.adult import ctgan
from synthetic_aia_mia.generator import identity
synthetic_identity = identity(data_adult(["train"]))
synthetic_ctgan = ctgan(data_adult(["train"]))
Datasets
Adult
We are using folktables adult.
UTKFaces
From Kaggle: jangedoo/utkfaces-new.
For loading and parsing files we use aia_fairness.dataset_processing