Currently an ongoing rewrite of coionobrega's explaining-recommendations repository, which is an implementation of LIME-RS, as discussed in this paper.
Will hopefully be used to understand the effect of popularity bias in any given recommendation.
I am not the author of the novel LIME algorithm or the implementation for Recommender Systems (LIME-RS). I merely wrote this to use in my own research, as the original codebase was not usable.
Run pipenv install
.
- Run environment
pipenv shell
. - Run with
python3 main.py
- Deactivate environment with
exit
.
see datasets/README.md
and experiment/config.py
to configure datasets, and I/O paths.
Use data_preprocessing.ipynb
to produce preprocessed training, testing, and validation splits for whichever dataset you choose.
Outputs are dumped into outputs/
, with the following files:
trained.pickle
: Pickled pretrained model.predictions.csv
: Generated predictionsrecommendations.csv
: Generated recommendations
- generate predictions (predict.py)
- fix model.predict()
- evaluate model (evaluate_model.py)
- refactor lime_rs.py
- generate LIMERS (run_lime_rs.py)
- generate bias as a feature
- generate bias explanations
- evalutate bias explanations
- validation
- add logging