Fairness.jl : Bias Audit and Mitigation Toolkit

I am glad to announce the first official release of Fairness.jl : A Comprehensive Bias Audit and Mitigation Toolkit in Julia designed with the aim to solve practical problems faced by practitioners with existing toolkits.

It is also the first Fairness Toolkit of Julia!!

Blog Post on Introduction to Fairness.jl: https://nextjournal.com/ashryaagr/fairness

Docs: Fairness.jl

Github Repository: https://github.com/ashryaagr/Fairness.jl

As of writing, the package is registered in Julia General registry, with version 0.1.1

]add Fairness

This Toolkit offers a number of unique features over the fairness toolkits in other languages such as Python, R, etc. :

  • As of writing, it is the only bias audit and mitigation toolkit to support data with multi-valued protected attributes. For eg. If the protected attribute, say race has more than 2 values: “Asian”, “African”, “American” and so on, then Fairness.jl can easily handle it with normal workflow.

  • Multiple Fairness algorithms can be applied at the same time by wrapping the wrapped Model.

  • Due to the support for multi-valued protected attributes, intersectional fairness can also be dealt with this toolkit. For eg. If the data has 2 protected attributes, say race and gender, then Fairness.jl can be used to handle it by combining attributes like “female_american”, “male_asian” and so on.

  • Extensive support and functionality provided by MLJ can be leveraged when using Fairness.jl

  • It leverages the flexibility and speed of Julia to make it more efficient and easy-to-use at the same time

  • The concept of Fairness Tensor has been used to optimize the package.

Requests/suggestions, PRs are more than welcome :slight_smile:

5 Likes

The package looks great!

I was actually working in the last two weeks on a similar package, but without reaching such a good state like yours. I will see if I can make some PRs to your package!

Which resources would you recommend to get an overview over “data fairness”?

1 Like

It is great to see that you are interested in contributing to the project!! Feel free to discuss the possible contributions. Some possible contributions have been listed the pinned issue.

To get an overview of data fairness, I recommend the following resources:

But the package and the documentation has been designed in a manner that one doesn’t need to have much knowledge about Fairness. One can easily learn other fairness concepts as he progresses through the documentation and algorithms in the package.