Fairness in Classification


The not-so originally named “fairness in classification” provides a Python implementation of three fairness constraints for logistic regression:

  1. Disparate impact: similar acceptance rate for different demographic groups. See Zafar et al., 2017 a.
  2. Disparate mistreatment: similar misclassification rate for different demographic groups. See Zafar et al., 2017b
  3. Preference-based fairness (as opposed to parity-based fairness): a more game-theoretical approach where decision boundaries are chosen such that it can be shown that each group prefers its own decision boundary, if rational. See Zafar et al., 2017c.

This library is a good demo on how to implement fairness constraints from scratch, more than being a comprehensive fairness toolkit.