holisticai.bias.mitigation.LearningFairRepresentation#
- class holisticai.bias.mitigation.LearningFairRepresentation(*args, **kargs)[source]#
Learning fair representations [1] finds a latent representation which encodes the data well while obfuscates information about protected attributes [1].
Parameters
- kint, optional
Number of prototypes. Default is 5
- Axfloat, optional
Input recontruction quality term weight. Default is 0.01
- Ayfloat, optional
Output prediction error. Default is 1.0
- Azfloat, optional
Fairness constraint term weight. Default is 50.0
- maxiterint, optional
Maximum number of iterations. Default is 5000
- maxfunint, optional
Maximum number of function evaluations. Default is 5000
- verboseint, optional
If zero, then no output. Default is 0
- seedint, optional
Seed to make predict repeatable. Default is None
Examples
>>> from holisticai.bias.mitigation import LearningFairRepresentation >>> mitigator = LearningFairRepresentation(**params) >>> train_data_transformed = mitigator.fit_transform(train_data, group_a, group_b) >>> test_data_transformed = mitigator.transform(test_data, group_a, group_b)
References
- fit(X: ndarray, y: ndarray, group_a: ndarray, group_b: ndarray)[source]#
Fit data to learn a fair representation transform.
Parameters
- Xmatrix-like
Input data
- yarray-like
Target vector
- group_aarray-like
Group membership vector (binary)
- group_barray-like
Group membership vector (binary)
Returns
Self