mirror of
https://github.com/google-deepmind/deepmind-research.git
synced 2025-12-11 17:39:09 +08:00
Path-Specific Counterfactual Fairness (AAAI 2019)
Paper: Path-Specific Counterfactual Fairness
If you use the code here please cite this paper:
@inproceedings{chiappa2019path,
title={Path-specific counterfactual fairness},
author={Chiappa, Silvia},
booktitle={Proceedings of the AAAI Conference on Artificial Intelligence},
volume={33},
number={01},
pages={7801--7808},
year={2019}
}
Overview
This release contains the path-specific counterfactual fairness method used in the paper, as well as utility functions for loading the Adult dataset.
The following gives a brief overview of the contents, more detailed documentation is available within each file:
- causal_network.py: Defines the
Nodeclass, instances of which can be combined into a directed graph. Associated with each node is adistribution_module, a haiku module which builds a tensorflowDistributioninstance as a function of the node's parents. - util.py: Miscellaneous utility functions.
- variational.py: Class for performing variational
inference. The
Variationalhaiku module is a general-purpose approximate posterior, using an MLP to map from arbitrary inputs to the parameters of a Gaussian distribution. - adult.py: Utility functions for the Adult dataset.
- adult_pscf.py: Training and 'fair' prediction process (using path-specific counterfactual fairness) on the Adult dataset.
- adult_pscf_config.py: Configuration file with default training parameters.
Dataset
The Adult dataset can be downloaded from https://archive.ics.uci.edu/ml/datasets/adult. You may use the following command to download both necessary files to run the training script:
sh download_dataset.sh ${OUTPUT_DIR}
Experiments
To download the dataset and run the main experiment reported in the paper, you may run:
sh run_adult_pscf.sh
Acknowledgements
Credits to Thomas P. S. Gillam for the original TF1 implementation.