Skip to content

Implementation of provably Rawlsian fair ML algorithms for contextual bandits.

Notifications You must be signed in to change notification settings

jtcho/FairMachineLearning

Repository files navigation

Rawlsian Fair Machine Learning for Contextual Bandits

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

Related Work/Citations:

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.