Welcome to Unfairness of Popularity Bias! In this repository, we are working on reproducing three studies on the topic of unfairness of popularity bias, namely Abdollahpouri et al., 2019, Kowald et al., 2019, and Naghiaei et al., 2022. At the same time, we are experimenting with various aspects of the recommendation and evaluation process that vary across the three studies, specifically:
- Data: the studies use three datasets, with different characteristics such as size, sparsity, and distribution of item popularity.
- Algorithms: the studies evaluate mostly different algorithms, with some excpetions.
- Division of users in groups: the studies define propensity for popular items differently and divide them accordingly.
- Evaluation strategy: the studies make different choices in the testing process.
To get started with this project, follow the instructions below.
Make sure you have the following software installed:
- Python 3.8
-
Create and activate a conda virtual environment named:
conda create --name tors python=3.8 conda activate tors
-
Clone the repository:
git clone https://github.com/SavvinaDaniil/UnfairnessOfPopularityBias.git cd UnfairnessOfPopularityBias
-
Install the required Python packages:
pip install -r requirements.txt
Once you have completed the installation steps, you can now run the experiments using the provided Jupyter notebooks.
-
Start the Jupyter notebook server:
jupyter notebook
Make sure that jupyter points to the jupyter installed from the requirements file. You may need to deactivate and activate the environment again.
-
Open the recommendation notebooks from the project directory.