jtcho
FairMachineLearning
Jupyter Notebook

Implementation of provably Rawlsian fair ML algorithms for contextual bandits.

Last updated Oct 27, 2025
14
Stars
4
Forks
0
Issues
0
Stars/day
Attention Score
4
Language breakdown
Jupyter Notebook 91.0%
TeX 5.4%
Python 3.6%
Makefile 0.1%
Files click to expand
README

Rawlsian Fair Machine Learning for Contextual Bandits

Implementation and evaluation of provably Rawlsian fair ML algorithms for contextual bandits.

Related Work/Citations:

  • Rawlsian Fairness for Machine Learning (https://arxiv.org/abs/1610.09559)
  • Unbiased Offline Evaluation of Contextual-bandit-based News Article Recommendation Algorithms (https://arxiv.org/abs/1003.5956)

Installation Instructions

(Option 1) Setting Up virtualenv

OSX

Install Python 3 from package. This allows you to run python3 and pip3. Software is installed into /Library/Frameworks/Python.framework/Versions/3.x/bin/.

Install virtualenv for Python 3 for the user only (which is placed into ~/Library/Python/3.x/bin):

$ pip3 install --user virtualenv

Create the following alias in your ~/.bash_profile:

$ echo "alias virtualenv3='~/Library/Python/3.x/bin/virtualenv'" >> ~/.bash_profile

Create a local virtualenv and activate it:

$ virtualenv3 fairml
$ source fairml/bin/activate

With the virtualenv active, install the project requirements into your virtualenv:

$ pip install -r requirements.txt

Create a Python kernel for Jupyter that uses your virtualenv:

$ python -m ipykernel install --user --name=fairml

You can then launch Jupyter using jupyter notebook from inside the project directory and change the kernel to fairml.

(Option 2) Using Docker

You can install Docker and use a standard configuration such as all-spark-notebook to run the project files.

🔗 More in this category

© 2026 GitRepoTrend · jtcho/FairMachineLearning · Updated daily from GitHub