ModelOriented / fairmodels

Flexible tool for bias detection, visualization, and mitigation
https://fairmodels.drwhy.ai/
GNU General Public License v3.0
85 stars 15 forks source link

Can we use range of values (1-5) for a protected variable #46

Closed neuideas closed 2 years ago

neuideas commented 2 years ago

Hi everyone, hope you are fine.

About fairmodels, I have an input metric with values from 1-30 (I make it from numeric to nominal) which I want to put as a protected variable. We can evaluate its fairness for individual values (e.g. 1, 2, 3 or so) but can we check it for a range of values. I mean what if we want to check the fairness of a model like: This model has less fairness when the protected variable has a range 1-6 and has less bias when the range of values is between 15-25.

I know this case might be different than originally the package has developed for but just asking if it is possible to implement.?

Thanks

jakwisn commented 2 years ago

Hi, what about making a vector with 3 levels: 1-6, 5,25, and other? Would that do the job?

neuideas commented 2 years ago

Thank you Jakub.

One vector with three levels? Then how can we access it with the "if statement" and assign the values to a protected variable? Or we should take three vectors separately with three levels:

vec1= c(1:5) vec2= c( 12:14, 17) vec3= c(21:24)

On Wed, Jan 26, 2022 at 11:46 PM Jakub Wiśniewski @.***> wrote:

Hi, what about making a vector with 3 levels: 1-6, 5,25, and other? Would that do the job?

— Reply to this email directly, view it on GitHub https://github.com/ModelOriented/fairmodels/issues/46#issuecomment-1022672410, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUFY66HNLWRWSBGZIT5U2DDUYB2UJANCNFSM5M4HTIAA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: @.***>

jakwisn commented 2 years ago

I mean, you can create a whole new vector with just those three values. Protected variable is just a vector. So depending on your previous vector just create a new one with mapped values. like c(1, 2, 4, 16, 17, 30, 29) would be c(a, a, a, b, b, c, c)

and you pass new vector as protected

neuideas commented 2 years ago

Thank you Jakub.. I will try it.

You can close the issue.

Regards

On Thu, Jan 27, 2022 at 12:18 AM Jakub Wiśniewski @.***> wrote:

I mean, you can create a whole new vector with just those three values. Protected variable is just a vector. So depending on your previous vector just create a new one with mapped values. like c(1, 2, 4, 16, 17, 30, 29) would be c(a, a, a, b, b, c, c)

and you pass new vector as protected

— Reply to this email directly, view it on GitHub https://github.com/ModelOriented/fairmodels/issues/46#issuecomment-1022692179, or unsubscribe https://github.com/notifications/unsubscribe-auth/AUFY66GBCESCIUDT3S6CMHTUYB6KXANCNFSM5M4HTIAA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you authored the thread.Message ID: @.***>