This repository contains the source code for "NeuFair: Neural Network Fairness Repair with Dropout" accepted at ACM ISSTA 2024.
- Create the conda environment from the
environment.yml
file. - Follow the instructions here to download the MEPS 16 dataset.
The saved_models
folder contains the pretrained DNNs used in our experiments for all datasets and seeds. The data
folder contains the dataset used in our experiments.
The simulated annealing and random walk repair strategies are implemented in sa.py
. The utils.py
script contains utility functions to preprocess the raw datasets and compute the fairness score of the DNN predictions. The model.py
script defines the DNN architectures for all datasets.
The sa_experiments
and random_experiments
contain scripts to run SA and RW strategies for the following datasets and sensitive attributes:
- adult_race: Adult Census Income dataset with Race
- adult: Adult Census Income dataset with Sex
- bank: Bank Marketing dataset with Age
- compas: Compas Software with Race
- compas_sex: Compas Software with Sex
- default: Default Credit with Sex
- meps: Medical Expenditure with Race
To retrain your own models, please use the training scripts provided in train_models
. Each training script trains models for a given dataset for 10 seeds. The training scripts contain the dataset-specific hyperparameters found after hyperparameter tuning.
@misc{dasu2024neufairneuralnetworkfairness,
title={NeuFair: Neural Network Fairness Repair with Dropout},
author={Vishnu Asutosh Dasu and Ashish Kumar and Saeid Tizpaz-Niari and Gang Tan},
year={2024},
eprint={2407.04268},
archivePrefix={arXiv},
primaryClass={cs.LG},
url={https://arxiv.org/abs/2407.04268},
}