holisticai.bias.mitigation.LPDebiaserMulticlass#

class holisticai.bias.mitigation.LPDebiaserMulticlass(*args, **kargs)[source]#

Linear Programming Debiaser [1] is a postprocessing algorithms designed to debias pretrained classifiers. The algorithm use constraints such as Equalized Odds and Equalized Opportunity. This technique extends LPDebiaserBinary for multiclass classification.

Parameters

constraintstr

Strategy used to evalute the cost function The available contraints are: “EqualizedOdds”, “EqualizedOpportunity”

lossstr

The loss function to optimize: “macro”, “micro”. The default is “macro”

Examples

>>> from holisticai.bias.mitigation import LPDebiaserMulticlass
>>> mitigator = LPDebiaserMulticlass(**params)
>>> mitigator.fit(y, y_pred, group_a, group_b)
>>> test_data_transformed = mitigator.transform(y_pred, group_a, group_b)

References

fit(y: ndarray, y_pred: ndarray, group_a: ndarray, group_b: ndarray)[source]#

Compute parameters for Linear Programming Debiaser. For binary classification y_pred or y_proba can be used. For Multiclass classification only y_pred must be used. .. rubric:: Parameters

yarray-like

Target vector

y_predarray-like

Predicted label vector (num_examples,).

group_aarray-like

Group membership vector (binary)

group_barray-like

Group membership vector (binary)

Returns

Self

fit_transform(y: ndarray, y_pred: ndarray, group_a: ndarray, group_b: ndarray)[source]#

Fit and transform

Parameters

yarray-like

Target vector

y_predarray-like

Predicted vector (nb_examples,)

group_aarray-like

Group membership vector (binary)

group_barray-like

Group membership vector (binary)

Returns

dict

A dictionnary with new predictions

transform(y_pred: ndarray, group_a: ndarray, group_b: ndarray)[source]#

Apply transform function to predictions and likelihoods

Parameters

y_predarray-like

Predicted vector (nb_examples,)

group_aarray-like

Group membership vector (binary)

group_barray-like

Group membership vector (binary)

Returns

dict

A dictionnary with new predictions