Skip to main content

|MIT license| |PyPI| |Discord| |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 metrics for model assessment. Besides the source code, this repository also contains Jupyter notebooks with examples of Fairlearn usage.

Website: https://fairlearn.org/

  • What we mean by *fairness* <#what-we-mean-by-fairness>__
  • Overview of Fairlearn <#overview-of-fairlearn>__
  • Getting started with fairlearn <#getting-started-with-fairlearn>__
  • Maintainers <#maintainers>__
  • Code of conduct <#code-of-conduct>__
  • Issues <#issues>__

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:

  • Allocation harms. These harms can occur when AI systems extend or withhold opportunities, resources, or information. Some of the key applications are in hiring, school admissions, and lending.

  • Quality-of-service harms. Quality of service refers to whether a system works as well for one person as it does for another, even if no opportunities, resources, or information are extended or withheld.

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 <https://fairlearn.org/main/user_guide/fairness_in_machine_learning.html#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:

  • Metrics for assessing which groups are negatively impacted by a model, and for comparing multiple models in terms of various fairness and accuracy metrics.

  • Algorithms for mitigating unfairness in a variety of AI tasks and along a variety of fairness definitions.

Fairlearn metrics


Check out our in-depth `guide on the Fairlearn metrics <https://fairlearn.org/main/user_guide/assessment>`__.

Fairlearn algorithms

For an overview of our algorithms please refer to our website <https://fairlearn.org/main/user_guide/mitigation/index.html>__.

Getting Started with Fairlearn

First steps


- Install via pip: ``pip install fairlearn``

- Visit the `Quickstart guide <https://fairlearn.org/main/quickstart.html>`__.

- **Learning Resources**:

  - Read the comprehensive `user guide <https://fairlearn.org/main/user_guide/index.html>`__.

  - Look through the `example notebooks <https://fairlearn.org/main/auto_examples/index.html>`__.


For Users & Practitioners
  • Browse the example gallery <https://fairlearn.org/main/auto_examples/index.html>__. Please note that notebooks downloaded from main may not be compatible with pip-installed versions.

  • Check the API reference <https://fairlearn.org/main/api_reference/index.html>__.

  • Get Help:

    • Ask questions on Stack Overflow <https://stackoverflow.com/questions/tagged/fairlearn>__ with tag fairlearn.

    • Join the Discord community <https://discord.gg/R22yCfgsRn>__ for discussions.

For Contributors


- Read the `contributor guide <https://fairlearn.org/main/contributor_guide/index.html>`__.

- Check out the `good first issues <https://github.com/fairlearn/fairlearn/labels/good%20first%20issue>`__.

- Follow the `development process <https://fairlearn.org/main/contributor_guide/development_process.html>`__.

- Join the `Discord <https://discord.gg/R22yCfgsRn>`__ for contributor discussions. Please use the ``#development`` channel.


Maintainers
-----------

A list of current maintainers is
`on our website <https://fairlearn.org/main/about/index.html#maintainers>`__.

Code of conduct
---------------
Fairlearn follows the `Fairlearn Organization's Code of Conduct <https://github.com/fairlearn/governance/blob/main/code-of-conduct.md>`__.

Issues
------

Regular (non-security) issues

Issues are meant for bugs, feature requests, and documentation improvements. Please submit a report through GitHub issues <https://github.com/fairlearn/fairlearn/issues>__. A maintainer will respond promptly as appropriate.

Maintainers will try to link duplicate issues when possible.

Reporting security issues


To report security issues please send an email to
``fairlearn-internal@python.org``.

.. |MIT license| image:: https://img.shields.io/badge/License-MIT-blue.svg
   :target: https://github.com/fairlearn/fairlearn/blob/main/LICENSE
.. |PyPI| image:: https://img.shields.io/pypi/v/fairlearn?color=blue
   :target: https://pypi.org/project/fairlearn/
.. |Discord| image:: https://img.shields.io/discord/840099830160031744
   :target: https://discord.gg/R22yCfgsRn
.. |StackOverflow| image:: https://img.shields.io/badge/StackOverflow-questions-blueviolet
   :target: https://stackoverflow.com/questions/tagged/fairlearn

Metadata

Release files for fairlearn 0.14.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fairlearn 0.14.0
File Size Uploaded
fairlearn-0.14.0.tar.gz 105.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for fairlearn 0.14.0
File Interpreter ABI Platform
fairlearn-0.14.0-py3-none-any.whl Python 3 none any Details

Total release size: 241.3 kB

Release files / fairlearn-0.14.0.tar.gz

Download URL fairlearn-0.14.0.tar.gz
Size 105.8 kB
Tags Source
SHA-256 checksum
How to use checksums
dc9d12fc6d3f4c94f1bf32eb11032b73363c4a62c986485bcc87febe2e583ebd
BLAKE2b-256 checksum
How to use checksums
5807f8b79188e1d148634f0aa88e2c503c9174c8ae26c5575747e832f989a837
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12

Release files / fairlearn-0.14.0-py3-none-any.whl

Download URL fairlearn-0.14.0-py3-none-any.whl
Size 135.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2ffe37b71f5b6a8e140b5db75a7990da64fd04b46e7acfc81654f92497ed2ece
BLAKE2b-256 checksum
How to use checksums
99bd776182bf82b0a3223773a43b0e7b9510afe6c3d32ed8dd5a27b30a89530b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.1.0 CPython/3.13.12
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page