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