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