Skip to content

mirkogiacchini/k-wise-RUMs

Repository files navigation

Approximating a RUM from Distributions on k-slates

Code for the paper "Approximating a RUM from Distributions on k-slates" https://proceedings.mlr.press/v206/chierichetti23a.html

dependencies and credits

The structure of the code is based on Almanza et al. code https://proceedings.mlr.press/v162/almanza22a.html
The code for the discrete choice MNL model is from https://github.com/sragain/pcmc-nips

dependencies: python >=3.9 standard installation, numpy, pandas, scikit-learn, matplotlib, docplex and cplex

dataset names: 'sushiA', 'SFwork', 'SFshop', 'election/a5', 'election/a9', 'election/a17', 'election/a48', 'election/a81'

The datasets must be placed in data/raw, in particular:

clean the datasets

python3 cleaner.py

Fitting experiments

slate_size must be in [2,3,4,5]. If dataset_name and slate_size are not provided, all datasets and slate sizes are used.

  • python3 rumrunner.py [dataset_name] [slate_size]

  • python3 evaluator.py [dataset_name] [slate_size]

for discrete choice MNL:

  • python3 pcmpMNL.py [dataset_name] [slate_size]

for classifier MNL:

  • python3 MNL.py [dataset_name] [slate_size]

Prediction experiments

  • python3 predictions.py [dataset_name] [slate_size]

  • python3 prediction_results.py [dataset_name] [slate_size]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages