IBM / ensure-loan-fairness-aif360

A demonstration of the AI Fairness 360 toolbox for bias metrics, explanations, and remediation. Code Pattern: https://developer.ibm.com/patterns/ensuring-fairness-when-processing-loan-applications
Apache License 2.0
28 stars 25 forks source link

Difference between the privileged and the unprivileged groups increased after running the mitigation #25

Closed dolph closed 5 years ago

dolph commented 5 years ago

Potential issue reported by @lidderupk:

we had tried [this pattern] [and] the results were a little strange. The difference between the privileged and the unprivileged groups increased after running the mitigation. Tommy from the CODAIT team ran the pattern a week ago and reported the results were more consistent now. I will have to run it again and report back to the group. Secondly, I had chosen the spark version instead of the python version when running it earlier and Adam suggested to just use Python

scottdangelo commented 5 years ago

Here are some comments from Karthikeyan Natesan ramamurthy, one of the maintainers:

There is randomness in splitting the datasets into train and test partitions and also in the algorithm itself. _When I ran this locally I got the following result:

Transformed training dataset
Difference in mean outcomes between unprivileged and privileged groups = -0.013180_

It is ok to have results slightly different from that of the code pattern. As for why results change between local and cloud, it could be because the two versions of python used could have different behaviors during random number generation.
scottdangelo commented 5 years ago

I am seeing the difference in mean outcomes between unprivileged and privileged get worse after mitigation: Before: -0.102466 After: -0.136480

scottdangelo commented 5 years ago

There is an issue for this in the AIF360 repo: https://github.com/IBM/AIF360/issues/51