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.
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
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
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for mars_gym-0.1.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f99e8a2951f9b938e14ae5689854f4eaa332c4c9d4205c7f85d4a752111fb60 |
|
MD5 | e32bfab1a77a3fd1781d9dad4f1e6338 |
|
BLAKE2b-256 | 54e429cd376fda2a888704b065cf8fe6748e191dffad7de7e29e0045f216cbd4 |