Skip to main content

Framework Code for the RecSys 2020 entitled 'MARS-Gym: A Gym framework to model, train, and evaluate recommendationsystems for marketplaces'.

Project description

MARS-Gym (MArketplace Recommender Systems Gym), a benchmark framework for modeling, training, and evaluating RL-based recommender systems for marketplaces.

MDP

Three main components composes the framework:

  • Data Engineering Module: A highly customizable module where the consumer can ingest and process a massive amount of data for learning using spark jobs.

  • Simulation Module: Holds an extensible module built on top of PyTorch to design learning architectures. It also possesses an OpenAI’s Gym environment that ingests the processed dataset to run a multi-agent system that simulates the targeted marketplace.

  • Evaluation Module: Provides a set of distinct perspectives on the agent’s performance. It presents traditional recommendation metrics, off-policy evaluation metrics, and fairness indicators. This component is powered by a user-friendly interface to facilitate the analysis and comparison betweenagents

Framework

Framework

Dependencies and Requirements

  • python=3.6.7

  • pandas=0.25.1

  • matplotlib=2.2.2

  • scipy=1.3.1

  • numpy=1.17.0

  • seaborn=0.8.1

  • scikit-learn=0.21.2

  • pytorch=1.2.0

  • tensorboardx=1.6

  • luigi=2.7.5

  • tqdm=4.33

  • requests=2.18.4

  • jupyterlab=1.0.2

  • ipywidgets=7.5.1

  • diskcache=3.0.6

  • pyspark=2.4.3

  • psutil=5.2.2

  • category_encoders

  • plotly=4.4.1

  • imbalanced-learn==0.4.3

  • torchbearer==0.5.1

  • pytorch-nlp==0.4.1

  • unidecode==1.1.1

  • streamlit==0.52.2

  • gym==0.15.4

Free software: MIT license

Installation

pip install mars-gym

You can also install the in-development version with:

pip install https://github.com/deeplearningbrasil/mars-gym/archive/master.zip

Documentation

https://mars-gym.readthedocs.io/

Development

To run the all tests run:

tox

Note, to combine the coverage data from all the tox environments run:

Windows

set PYTEST_ADDOPTS=--cov-append
tox

Other

PYTEST_ADDOPTS=--cov-append tox

Usage

Simulate Example

mars-gym run interaction --project PROJECT \
--n-factors N_FACTORS --learning-rate LR --optimizer OPTIMIZER \
--epochs EPOCHS --obs-batch-size OBS_BATCH \
--batch-size BATCH_SIZE --num-episodes NUM_EP \
--bandit-policy BANDIT --bandit-policy-params BANDIT_PARAMS

Evaluate Example

mars-gym evaluate iteraction \
 --model-task-id MODEL_TASK_ID --fairness-columns "[]" \
 --direct-estimator-class DE_CLASS

Evaluation Module

mars-gym viz

Cite

Please cite the associated paper for this work if you use this code:

@misc{santana2020marsgym,
      title={MARS-Gym: A Gym framework to model, train, and evaluate Recommender Systems for Marketplaces},
      author={Marlesson R. O. Santana and Luckeciano C. Melo and Fernando H. F. Camargo and Bruno Brandão and Anderson Soares and Renan M. Oliveira and Sandor Caetano},
      year={2020},
      eprint={2010.07035},
      archivePrefix={arXiv},
      primaryClass={cs.IR}
}

Changelog

0.0.1 (2020-06-27)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mars-gym-0.1.0.tar.gz (12.6 MB view details)

Uploaded Source

Built Distribution

mars_gym-0.1.0-py2.py3-none-any.whl (73.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file mars-gym-0.1.0.tar.gz.

File metadata

  • Download URL: mars-gym-0.1.0.tar.gz
  • Upload date:
  • Size: 12.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.6.12

File hashes

Hashes for mars-gym-0.1.0.tar.gz
Algorithm Hash digest
SHA256 8e563fcc00ccba29b596d9a52c0ab34c12dfba125f0e31f167fd3ba9f2632f1c
MD5 01a6157958f77ee7eed6b091817a9441
BLAKE2b-256 c85b5a47033e7967ef06fdc97e919aeccf45af24c98cd6cd25d1be2c6abebe15

See more details on using hashes here.

File details

Details for the file mars_gym-0.1.0-py2.py3-none-any.whl.

File metadata

  • Download URL: mars_gym-0.1.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 73.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.6.1 requests/2.24.0 setuptools/49.6.0.post20200814 requests-toolbelt/0.9.1 tqdm/4.49.0 CPython/3.6.12

File hashes

Hashes for mars_gym-0.1.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 0f99e8a2951f9b938e14ae5689854f4eaa332c4c9d4205c7f85d4a752111fb60
MD5 e32bfab1a77a3fd1781d9dad4f1e6338
BLAKE2b-256 54e429cd376fda2a888704b065cf8fe6748e191dffad7de7e29e0045f216cbd4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page