holisticai.bias.mitigation.FairletClusteringPreprocessing#
- class holisticai.bias.mitigation.FairletClusteringPreprocessing(*args, **kargs)[source]#
Fairlet decomposition [1] is a pre-processing approach that computes fair micro-clusters where fairness is guaranteed. They then use the fairlet centers as a newly transformed dataset from the original. This transformed fairlet-based dataset is then provided to vanilla clustering algorithms, and hence, we obtain approximately fair clustering outputs as a result of the fairlets themselves being fair.
Parameters
- decompositionstr, optional
Fairlet decomposition strategy, available: Vanilla, Scalable, MCF. Default is Vanilla.
- pint, optional
fairlet decomposition parameter for Vanilla and Scalable strategy. Default is 1.
- qint, optional
fairlet decomposition parameter for Vanilla and Scalable strategy. Default is 3.
- seedint, optional
Random seed. Default is None.
Examples
>>> from holisticai.bias.mitigation import FairletClusteringPreprocessing >>> mitigator = FairletClusteringPreprocessing() >>> train_data_transformed = mitigator.fit_transform(train_data, group_a, group_b)
References
- fit_transform(X: ndarray, group_a: ndarray, group_b: ndarray, sample_weight: ndarray | None = None)[source]#
Fits the model by learning a fair cluster.
Parameters
- Xmatrix-like
input matrix
- group_aarray-like
binary mask vector
- group_barray-like
binary mask vector
- sample_weightarray-like, optional
Samples weights vector. Default is None.
Returns
- matrix
Transformed matrix