holisticai.bias.mitigation.LPDebiaserBinary#

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

Linear Programmin Debiaser [1] is a postprocessing algorithms designed to debias pretrained classifiers. The algorithm use constraints such as Equalized Odds and Equalized Opportunity.

Parameters

constraintstr

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

Examples

>>> from holisticai.bias.mitigation import LPDebiaserBinary
>>> mitigator = LPDebiaserBinary()
>>> mitigator.fit(y, y_proba, group_a, group_b)
>>> test_data_transformed = mitigator.predict(y_pred, group_a, group_b)

References

fit(y: ndarray, group_a: ndarray, group_b: ndarray, y_pred: ndarray | None = None, y_proba: ndarray | None = None)[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.

Parameters

yarray-like

Target vector

y_predarray-like

Predicted label vector (num_examples,).

y_probamatrix-like

Predicted probability matrix (num_examples, num_classes). The probability estimates must sum to 1 across the possible classes and each matrix value must be in the interval [0,1].

group_aarray-like

Group membership vector (binary)

group_barray-like

Group membership vector (binary)

Returns

Self

fit_transform(y: ndarray, group_a: ndarray, group_b: ndarray, y_pred: ndarray | None = None, y_proba: ndarray | None = None)[source]#

Fit and transform

Parameters

yarray-like

Target vector

y_predarray-like

Predicted vector (nb_examlpes,)

y_probamatrix-like

Predicted probability matrix (num_examples, num_classes). The probability estimates must sum to 1 across the possible classes and each matrix value must be in the interval [0,1].

group_aarray-like

Group membership vector (binary)

group_barray-like

Group membership vector (binary)

Returns

dict

A dictionary of new predictions

transform(group_a: ndarray, group_b: ndarray, y_pred: ndarray | None = None, y_proba: ndarray | None = None)[source]#

Apply transform function to predictions and likelihoods

Parameters

y_predarray-like

Predicted vector (nb_examlpes,)

y_probamatrix-like

Predicted probability matrix (num_examples, num_classes). The probability estimates must sum to 1 across the possible classes and each matrix value must be in the interval [0,1].

group_aarray-like

Group membership vector (binary)

group_barray-like

Group membership vector (binary)

Returns

dict

A dictionary of new predictions