aif360.algorithms.inprocessing.PrejudiceRemover

class aif360.algorithms.inprocessing.PrejudiceRemover(eta=1.0, sensitive_attr='', class_attr='')[source]

Prejudice remover is an in-processing technique that adds a discrimination-aware regularization term to the learning objective [6].

References

[6]T. Kamishima, S. Akaho, H. Asoh, and J. Sakuma, “Fairness-Aware Classifier with Prejudice Remover Regularizer,” Joint European Conference on Machine Learning and Knowledge Discovery in Databases, 2012.
Parameters:
  • eta (double, optional) – fairness penalty parameter
  • sensitive_attr (str, optional) – name of protected attribute
  • class_attr (str, optional) – label name

Methods

fit Learns the regularized logistic regression model.
fit_predict Train a model on the input and predict the labels.
fit_transform Train a model on the input and transform the dataset accordingly.
predict Obtain the predictions for the provided dataset using the learned prejudice remover model.
transform Return a new dataset generated by running this Transformer on the input.
__init__(eta=1.0, sensitive_attr='', class_attr='')[source]
Parameters:
  • eta (double, optional) – fairness penalty parameter
  • sensitive_attr (str, optional) – name of protected attribute
  • class_attr (str, optional) – label name
fit(dataset)[source]

Learns the regularized logistic regression model.

Parameters:dataset (BinaryLabelDataset) – Dataset containing true labels.
Returns:PrejudiceRemover – Returns self.
predict(dataset)[source]

Obtain the predictions for the provided dataset using the learned prejudice remover model.

Parameters:dataset (BinaryLabelDataset) – Dataset containing labels that needs to be transformed.
Returns:dataset (BinaryLabelDataset) – Transformed dataset.