Mitigation

holisticai.bias.mitigation is a python module mitigating bias in algorithms. Our classes cover pre-processing, post-processing and post-processing.

Pre-processing

holisticai.bias.mitigation.Reweighing(*args, ...)

Reweighing preprocessing weights the examples in each group-label combination to ensure fairness before classification.

holisticai.bias.mitigation.LearningFairRepresentation(...)

Learning fair representations finds a latent representation which encodes the data well while obfuscates information about protected attributes.

holisticai.bias.mitigation.CorrelationRemover(...)

CorrelationRemover applies a linear transformation to the non-sensitive feature columns in order to remove their correlation with the sensitive feature columns while retaining as much information as possible (as measured by the least-squares error).

holisticai.bias.mitigation.FairletClusteringPreprocessing(...)

Variational Fair Clustering helps you to find clusters with specified proportions of different demographic groups pertaining to a sensitive attribute of the dataset (group_a and group_b) for any well-known clustering method such as K-means, K-median or Spectral clustering (Normalized cut).

In-processing

holisticai.bias.mitigation.ExponentiatedGradientReduction(...)

Exponentiated gradient reduction is an in-processing technique that reduces fair classification to a sequence of cost-sensitive classification problems, returning a randomized classifier with the lowest empirical error subject to fair classification constraints.

holisticai.bias.mitigation.GridSearchReduction(...)

Grid search technique can be used for fair classification or fair regression.

holisticai.bias.mitigation.MetaFairClassifier(...)

The meta algorithm here takes the fairness metric as part of the input and returns a classifier optimized w.r.t.

holisticai.bias.mitigation.PrejudiceRemover(...)

Prejudice remover is an in-processing technique that adds a discrimination-aware regularization term to the learning objective.

holisticai.bias.mitigation.FairKCenterClustering(...)

Fair K-Center Clustering inprocessing bias mitigation implements an approximation algorithm for the k-centers problem under the fairness contraint with running time linear in the size of the dataset and k (number of cluster).

holisticai.bias.mitigation.FairKmedianClustering(...)

Fair K-median clustering inprocessing bias mitigation is an approximation algorithms for group representative k-median clustering.

holisticai.bias.mitigation.FairletClustering(...)

Fairlet Clustering inprocessing bias mitigation works in two steps: - The pointset is partitioned into subsets called fairlets that satisfy the fairness requirement and approximately preserve the k-median objective.

holisticai.bias.mitigation.VariationalFairClustering(...)

Variational Fair Clustering helps you to find clusters with specified proportions of different demographic groups pertaining to a sensitive attribute of the dataset (group_a and group_b) for any well-known clustering method such as K-means, K-median or Spectral clustering (Normalized cut).

Post-processing

holisticai.bias.mitigation.CalibratedEqualizedOdds(...)

Calibrated equalized odds postprocessing optimizes over calibrated classifier score outputs to find probabilities with which to change output labels with an equalized odds objective.

holisticai.bias.mitigation.EqualizedOdds(...)

Equalized odds postprocessing use linear programming to find the probability with which change favorable labels (y=1) to unfavorable labels (y=0) in the output estimator to optimize equalized odds.

holisticai.bias.mitigation.RejectOptionClassification(...)

Reject option classification gives favorable outcomes (y=1) to unpriviliged groups and unfavorable outcomes (y=0)to priviliged groups in a confidence band around the decision boundary with the highest uncertainty.

holisticai.bias.mitigation.LPDebiaserBinary(...)

Linear Programmin Debiaser is a postprocessing algorithms designed to debias pretrained classifiers.

holisticai.bias.mitigation.LPDebiaserMulticlass(...)

Linear Programmin Debiaser is a postprocessing algorithms designed to debias pretrained classifiers.

holisticai.bias.mitigation.MLDebiaser(*args, ...)

MLDebiaser postprocessing debias predictions w.r.t.

holisticai.bias.mitigation.PluginEstimationAndCalibration(...)

Plugin Estimation and Calibration postprocessing optimizes over calibrated regressor outputs via a smooth optimization.

holisticai.bias.mitigation.WassersteinBarycenter(...)

Fair Regression with Wasserstein Barycenters learning a real-valued function that satisfies the Demographic Parity constraint.