Skip to content

Semantically Understanding Bias with LIME. Using the LIME-RS Algorithm to understand bias in recommender systems.

Notifications You must be signed in to change notification settings

FurkanToprak/SUBLIME

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Semantically Understanding Bias with LIME

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.

Disclaimer

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.

Instructions

Installing Dependencies

Run pipenv install.

Running Code

  1. Run environment pipenv shell.
  2. Run with python3 main.py
  3. Deactivate environment with exit.

Configuring Dataset

see datasets/README.md and experiment/config.py to configure datasets, and I/O paths.

Data Preprocessing

Use data_preprocessing.ipynb to produce preprocessed training, testing, and validation splits for whichever dataset you choose.

Output

Outputs are dumped into outputs/, with the following files:

  • trained.pickle: Pickled pretrained model.
  • predictions.csv: Generated predictions
  • recommendations.csv: Generated recommendations

TODO:

  • 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

About

Semantically Understanding Bias with LIME. Using the LIME-RS Algorithm to understand bias in recommender systems.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published