FSE2024
MirrorFair: Fixing Fairness Bugs in Machine Learning Software via Counterfactual Predictions
Ying Xiao, Jie M. Zhang, Yepang Liu, Mohammad Reza Mousavi, Sicen Liu, Dingyuan Xue
Abstract
With the increasing utilization of Machine Learning (ML) software in critical domains such as employee hiring, college admission, and credit evaluation, ensuring fairness in the decision-making processes of underlying models has emerged as a paramount ethical concern. Nonetheless, existing methods for rectifying fairness issues can hardly strike a consistent trade-off between performance and fairness across diverse tasks and algorithms. Informed by the principles of counterfactual inference, this paper introduces MirrorFair, an innovative adaptive ensemble approach designed to mitigate fairness concerns. MirrorFair initially constructs a counterfactual dataset derived from the original data, training two distinct models—one on the original dataset and the other on the counterfactual dataset. Subsequently, MirrorFair adaptively combines these model predictions to generate fairer final decisions. We conduct an extensive evaluation of MirrorFair and compare it with 15 existing methods across a diverse range of decision-making scenarios. Our findings reveal that MirrorFair outperforms all the baselines in every measurement (i.e., fairness improvement, performance preservation, and trade-off metrics). Specifically, in <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="inline"> mml:mn93</mml:mn> mml:mo%</mml:mo> </mml:math> of cases, MirrorFair surpasses the fairness and performance trade-off baseline proposed by the benchmarking tool Fairea, whereas the state-of-the-art method achieves this in only <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="inline"> mml:mn88</mml:mn> mml:mo%</mml:mo> </mml:math> of cases. Furthermore, MirrorFair consistently demonstrates its superiority across various tasks and algorithms, ranking first in balancing model performance and fairness in <mml:math xmlns:mml="http://www.w3.org/1998/Math/MathML" display="inline"> mml:mn83</mml:mn> mml:mo%</mml:mo> </mml:math> of scenarios. To foster replicability and future research, we have made our code, data, and results openly accessible to the research community.