GithubHelp home page GithubHelp logo

shawn-dm / fair-vae-rec Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bjornarvass/fair-vae-rec

0.0 0.0 0.0 27 KB

Public repository of Providing Previously Unseen Users Fair Recommendations Using Variational Autoencoders

Python 100.00%

fair-vae-rec's Introduction

Providing Previously Unseen Users Fair Recommendations Using Variational Autoencoders

This is the official repository for the paper "Providing Previously Unseen Users Fair Recommendations Using Variational Autoencoders", appearing in the RecSys 2023 conference.

Requirements(version used)

The packages required for running the code are the following:

  • numpy (1.22.1)
  • scikit-learn (1.0.2)
  • pandas (1.3.5)
  • scipy (1.7.2)
  • torch (1.10.1+cu113)
  • SLIM (2.0.0)

A "pip freeze" dump of the development python environment is also provided in requirements.txt. However, this also list numerous packages that will be installed when installing the listed packages, auxilliary packages used for formatting and prototyping, and packages like SLIM that are not listed by pip.

Running the code

train.py is used for training and evaluating all setups of the VAE models and supports argument parsing through pythons argparse package. To list the available arguments, descriptions and instructions, run "python train.py -h". setups.txt lists the model configurations presented in the main results of the paper.

We also provide the code we used for evaluating the SLIM baseline, which can be found in eval_slim.py. For this file we do not provide argument parsing as the configurations only depend on the considered dataset.

Logging and plotting

The "verbose" flag can be used to enable logging and plotting through Weights & Biases. Users who want to use other logging tools must change the code accordingly.

Specific python packages and code inspiration

The SLIM baseline was evaluated using the public implementation of the authors, which can be found here: https://github.com/KarypisLab/SLIM. The code for evaluating SLIM is found in eval_slim.py and requires that SLIM has been built and installed.

The "base" setup of the proposed models takes inspiration from the public implementation of the baseline VAE model found here: https://github.com/dawenl/vae_cf.

util.py contains some borrowed code. The specific part is clearly marked and sourced.

fair-vae-rec's People

Contributors

bjornarvass avatar bjorva avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.