Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Read me

This repository contains the accompanying code for the paper

Paul Gölz, Anson Kahng, and Ariel D. Procaccia: Paradoxes in Fair Machine Learning. 2019.

The paper is freely available at


This directory contains four scripts:

  • contains an implementation of the geometric algorithm for finding optimal equalized-odds allocations subject to a cardinality constraint.
  • fico.ipynb is an IPython notebook that allows to replicate our experiments in Figure 4. It contains instructions on where to obtain the FICO dataset that we used. If you just want to read the code, the easiest way is to use the link above to see the preview in your browser, right here on github. If you want to replicate our results or do your own experiment in our setting, you need to install the dependencies mentioned below. Then, running jupyter notebook fico.ipynb opens a browser window, in which you can see our simulation results and easily rerun them.
  • implements the recursion step of the algorithm from Lemma 5, which allows to find equalized-odds allocation with optimal efficiency, while simultaneously satisfying resource monotonicity.
  • generates visualizations for the algorithm in and was used to construct Figure 3 in the paper. The script is supposed to be called from the command line and contains detailed usage information when called with -h.

Software requirements

We used the following software and libraries in the indicated versions. Newer versions will probably work, but have not been tested.

To generate the figures in (and for improved typesetting in the output of fico.ipynb) an up-to-date version of pdflatex needs to be installed and be available from matplotlib and the shell.


For questions on the code, please contact Paul Gölz.


Code for the paper “Paradoxes in Fair Machine Learning” by Paul Gölz, Anson Kahng, and Ariel D. Procaccia.






No releases published


No packages published