Code for the NeurIPS 2018 paper "Hunting for Discriminatory Proxies in Linear Regression Models"
You will need an installation of Python 3 with some commonly used data analysis packages, such as numpy
, scipy
, sklearn
, and pandas
.
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.