Code Monkey home page Code Monkey logo

popularity-bias-in-dynamic-recommendation's Introduction

Popularity-Bias-in-Dynamic-Recommendation

Code for the KDD21 paper -- Popularity Bias in Dynamic Recommendation

Data

We put the pre-processed MovieLens 1M dataset in the 'Data' folder, where 1000 users are randomly selected for the simulation experiments. We run an MF model with cross entropy loss to complete the user-item relevance matrix to get the ground truth data for the simulation experiments. In each 'Experiment' folder, the outputs of the simulation experiments are stored.

Requirements

python 3, tensorflow 1.14.0, numpy, pandas

Excution

To run the similation experiment with different settings, use the command 'python3 Experiment_XXX.py'. For example, to run the basic simulation experiment with vanilla MF model, position bias, closed feedback loop, better negative sampling, use the command 'python3 Experiment_basic.py'.

Experiment_basic: with vanilla MF, position bias, closed feedback loop, better negative sampling.
Experiment_withoutPB: with vanilla MF, position bias counteracted, closed feedback loop, better negative sampling.
Experiment_withoutCFL: with vanilla MF, position bias counteracted, without closed feedback loop, better negative sampling.
Experiment_vanillaNS: with vanilla MF, position bias counteracted, closed feedback loop, vanilla negative sampling.
Experiment_Scale: based on Experiment_withoutPB, apply static Scale method to debias.
Experiment_DScale: based on Experiment_withoutPB, apply the proposed dynamic method DScale to debias.
Experiment_FPC: based on Experiment_withoutPB, apply the proposed False Positive Correction FPC to debias.
Experiment_FPC_DScale: based on Experiment_withoutPB, apply the proposed FPC + DScale to debias.

After running the simulations, to plot the results, go to the 'Experiment' folders in './Data/ml1m', and run the 'analysis.ipynb' to see the ploting results. For example, to see the results of Experiment_basic, go to './Data/ml1m/Experiment_basic', and run 'analysis.ipynb'.

popularity-bias-in-dynamic-recommendation's People

Contributors

zziwei avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

harel-coffee

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.