Reductions

Learn how to use reduction methods.

We'll cover the following

What are reductions?

Reduction approaches take an arbitrary model and attempt to de-bias it according to a selected constraint, commonly demographic parity, equalized odds, or equal opportunity. Still, technically, it can be any other metric.

The process is performed by training multiple instances of a base classifier. Each model is fitted on a dataset with different weights. The process is repeated numerous times, and for each trial, the value of the objective function (for example, accuracy) and selected constraint violation is computed. Finally, evaluation is performed by calculating a weighted average of performance and fairness metrics. Depending on the specific algorithm, the output can be either a single model fitted on a particular set of weights or multiple models with assigned likelihoods to use, resulting in an indeterministic classifier.

Note that this algorithm differs from reweighting, which we have already learned. Instead of computing weights by a predefined method, reduction methods experimentally select the best set of weights.

In Fairlearn, we have two implementations of reduction methods: GridSearch and ExponentiatedGradient. The first one yields a single classifier, while the second gives a probabilistic list of models. From the user’s perspective, using either of them is very similar.

Usage example

Let’s see how to use both GridSearch and ExponentiatedGradient.

Get hands-on with 1200+ tech skills courses.