Contains the code associated to the ArXiV paper: Learning Fair Scoring Functions: Fairness Definitions, Algorithms and Generalization Bounds for Bipartite Ranking
The code uses tensorflow (was tested on TF2, but should be compatible with TF1 as well) and usual python libraries e.g. numpy, matplotlib.
All of the commands necessary to generate the results and the figures are contained
in generate_all_figures.sh
. To select the right ROC curves for Figure 11,
one needs to pick the right numbers that encode the parameter values (see
params/lambda/lambda_{0..5}.json
and params/reg/reg_{0..6}.json
)
by looking at the files table.tex
generated by generate_all_figures.sh
and replace them in the file generate_all_figures.sh
.
Changing the numbers is used to select ROC curves in the set of all
results contained in the folder results
.
Before starting the experiments, one needs to download the data, that
can be found in this storage
and copy the data
folder at the root of the repository.