Code for the NeurIPS 2018 paper "Hunting for Discriminatory Proxies in Linear Regression Models"
Links to the paper
How to run the code
You will need an installation of Python 3 with some commonly used data analysis packages, such as
In addition, by default this version of the code uses Gurobi, which is better at solving the exact optimization problem than
cvxopt is. Gurobi is proprietary software, but free licenses are available for academic users. If you prefer to use
cvxopt instead, add the
-c flag to the below command.
To run the exact optimization problem, run
python main.py <dataset> -e <epsilon>
where dataset is either
ssl (Strategic Subject List) or
cc (Communities and Crimes), and epsilon is your desired association threshold.
To run the approximate optimization problem, simply add the
-a flag to the above command.