Mitigations#
In this section, we discuss the various mitigation techniques implemented in Fairlearn. One thing which should always be remembered: all the algorithms herein will provide mathematical guarantees as to how close they can drive some unfairness metric to zero. However this does not mean that the results are fair.
Fairlearn contains the following algorithms for mitigating unfairness:
algorithm 
description 
binary classification 
regression 
supported fairness definitions 

A wrapper (reduction) approach to fair classification described in A Reductions Approach to Fair Classification 1. 
✔ 
✔ 
DP, EO, TPRP, FPRP, ERP, BGL 

A wrapper (reduction) approach described in Section 3.4 of A Reductions Approach to Fair Classification 1. For regression it acts as a gridsearch variant of the algorithm described in Section 5 of Fair Regression: Quantitative Definitions and Reductionbased Algorithms 2. 
✔ 
✔ 
DP, EO, TPRP, FPRP, ERP, BGL 

Postprocessing algorithm based on the paper Equality of Opportunity in Supervised Learning 3. This technique takes as input an existing classifier and the sensitive feature, and derives a monotone transformation of the classifier’s prediction to enforce the specified parity constraints. 
✔ 
✘ 
DP, EO, TPRP, FPRP 

Preprocessing algorithm that removes correlation between sensitive features and nonsensitive features through linear transformations. 
✔ 
✔ 
✘ 

An optimization algorithm based on the paper Mitigating Unwanted Biases with Adversarial Learning 4. This method trains a neural network classifier that minimizes training error while preventing an adversarial network from inferring sensitive features. The neural networks can be defined either as a PyTorch module or TensorFlow2 model. 
✔ 
✘ 
DP, EO 

The regressor variant of the above 
✘ 
✔ 
DP, EO 
DP refers to demographic parity, EO to equalized odds, TPRP to true positive rate parity, FPRP to false positive rate parity, ERP to error rate parity, and BGL to bounded group loss. For more information on the definitions refer to Fairness in Machine Learning. To request additional algorithms or fairness definitions, please open a new issue on GitHub.
Note
Fairlearn mitigation algorithms largely follow the
conventions of scikitlearn,
meaning that they implement the fit
method to train a model and the predict
method
to make predictions. However, in contrast with
scikitlearn,
Fairlearn algorithms can produce randomized predictors. Randomization of
predictions is required to satisfy many definitions of fairness. Because of
randomization, it is possible to get different outputs from the predictor’s
predict
method on identical data. For each of our algorithms, we provide
explicit access to the probability distribution used for randomization.