holisticai.bias.mitigation.MetaFairClassifier#
- class holisticai.bias.mitigation.MetaFairClassifier(*args, **kargs)[source]#
The meta algorithm [1] takes the fairness metric as part of the input and returns a classifier optimized w.r.t. that fairness metric. The algorithm support only binary protected groups -> group_a = 1 - group_b
Parameters
- taufloat
Fairness penalty parameter (0,1). Higher parameter increate the threshold for a valid estimator.
- constraintstr
The type of fairness metric to be used, currently supported: - StatisticalRate: Statistical rate/disparate impact - FalseDiscovery: False discovery rate ratio
- seedint
Random seed.
- verboseint
If >0, will show progress percentage.
Examples
>>> from holisticai.bias.mitigation.inprocessing import MetaFairClassifier >>> mitigator = MetaFairClassifier(**params) >>> mitigator.fit(train_data, y, group_a, group_b) >>> test_data_transformed = mitigator.predict(test_data)
References
- fit(X: ndarray, y: ndarray, group_a: ndarray, group_b: ndarray)[source]#
Fit the model
Description
Learn a fair classifier.
Parameters
- Xnumpy array
input matrix
- ynumpy array
target vector
- group_anumpy array
binary mask vector
- group_bnumpy array
binary mask vector
Returns
self