Build Status MIT license PyPI Gitter StackOverflow

Fairlearn

Fairlearn is a Python package that empowers developers of artificial intelligence (AI) systems to assess their system's fairness and mitigate any observed unfairness issues. Fairlearn contains mitigation algorithms as well as a Jupyter widget for model assessment. Besides the source code, this repository also contains Jupyter notebooks with examples of Fairlearn usage.

Website: https://fairlearn.github.io/

Current release

What we mean by fairness

An AI system can behave unfairly for a variety of reasons. In Fairlearn, we define whether an AI system is behaving unfairly in terms of its impact on people – i.e., in terms of harms. We focus on two kinds of harms:

We follow the approach known as group fairness, which asks: Which groups of individuals are at risk for experiencing harms? The relevant groups need to be specified by the data scientist and are application specific.

Group fairness is formalized by a set of constraints, which require that some aspect (or aspects) of the AI system's behavior be comparable across the groups. The Fairlearn package enables assessment and mitigation of unfairness under several common definitions. To learn more about our definitions of fairness, please visit our user guide on Fairness of AI Systems.

Note: Fairness is fundamentally a sociotechnical challenge. Many aspects of fairness, such as justice and due process, are not captured by quantitative fairness metrics. Furthermore, there are many quantitative fairness metrics which cannot all be satisfied simultaneously. Our goal is to enable humans to assess different mitigation strategies and then make trade-offs appropriate to their scenario.

Overview of Fairlearn

The Fairlearn Python package has two components:

Fairlearn algorithms

For an overview of our algorithms please refer to our website.

Fairlearn dashboard

Check out our in-depth guide on the Fairlearn dashboard.

Install Fairlearn

For instructions on how to install Fairlearn check out our Quickstart guide.

Usage

For common usage refer to the Jupyter notebooks and our user guide. Please note that our APIs are subject to change, so notebooks downloaded from master may not be compatible with Fairlearn installed with pip. In this case, please navigate the tags in the repository (e.g. v0.4.5) to locate the appropriate version of the notebook.

Contributing

To contribute please check our contributor guide.

Maintainers

The Fairlearn project is maintained by:

For a full list of contributors refer to the authors page

Issues

Usage Questions

Pose questions and help answer them on Stack Overflow with the tag fairlearn or on Gitter.

Regular (non-security) issues

Issues are meant for bugs, feature requests, and documentation improvements. Please submit a report through GitHub issues. A maintainer will respond promptly as appropriate.

Maintainers will try to link duplicate issues when possible.

Reporting security issues

Please take a look at our guidelines for reporting security issues.