/DECAF

Data Utility Improvement Experiment for DECAF

Primary LanguagePython

Data Utility Improvement Experiment for DECAF

This repository contains experiments on improving data utility of DECAF using alternating graph during synthesization.

The method is introduced in the paper DECAF: Generating Fair Synthetic Data Using Causally-Aware Generative networks. The original code of DECAF paper is here.

As the official implementation is imcomplete, the implementation in this repo is adapted from this work Replication Study of DECAF: Generating Fair Synthetic Data Using Causally-Aware Generative, whose code can be found here.

Installation

python -m venv env
source env/bin/activate
pip install -r requirements.txt

Showing the results

The experiments results are precomputed and can be shown using

python results.py
        model    precision       recall     f1-score        auroc          ftu           dp       ftu-f1    ftu-auroc        dp-f1     dp-auroc
0    original  0.877±0.005  0.930±0.007  0.903±0.001  0.764±0.008  0.030±0.009  0.175±0.012  0.935±0.004  0.855±0.006  0.862±0.007  0.793±0.002
1    decaf_nd  0.887±0.021  0.758±0.038  0.816±0.015  0.729±0.023  0.089±0.043  0.347±0.061  0.861±0.023  0.809±0.017  0.724±0.041  0.686±0.024
2   decaf_ftu  0.888±0.016  0.759±0.031  0.818±0.013  0.732±0.018  0.028±0.020  0.297±0.039  0.888±0.011  0.835±0.013  0.756±0.027  0.716±0.016
3    decaf_cf  0.777±0.013  0.879±0.042  0.824±0.015  0.551±0.028  0.036±0.022  0.041±0.029  0.889±0.013  0.701±0.026  0.886±0.018  0.699±0.018
4    decaf_dp  0.762±0.009  0.914±0.034  0.831±0.015  0.518±0.021  0.021±0.021  0.016±0.012  0.899±0.010  0.677±0.014  0.901±0.010  0.679±0.017
5  decaf_cf-y  0.758±0.009  0.970±0.025  0.851±0.006  0.509±0.021  0.012±0.011  0.021±0.021  0.914±0.007  0.672±0.016  0.910±0.011  0.669±0.014
6  decaf_dp-y  0.756±0.005  0.976±0.020  0.852±0.007  0.504±0.012  0.014±0.010  0.020±0.019  0.914±0.008  0.667±0.010  0.911±0.011  0.665±0.013

Re-run the experiments

The experiments are implemented in the experiment.py script

python experiment.py