This repository is the implementation of F2PGNN: Fair Federated Graph Neural Networks for Personalized Recommendation.
❐ This paper addresses the pervasive issue of inherent bias within Recommendation Systems (RSs) for different demographic groups without compromising the privacy of sensitive user attributes in Federated Learning (FL) environment with the graph-based model.
Our experiments are performed on a machine with AMD EPYC 7282 16-Core Processor @ 2.80GHz with 128GB RAM, 80GB A100 GPU on Linux Server.
To install required packages:
pip install -r requirements.txt
❐ The environment was managed using Anaconda with the following version
conda==23.3.1
conda-package-handling==2.0.2
❐ The installed tensorflow version automatically detects GPU(s) and if not available it will use CPU instead.
First, change the dataset path according to working directory in the data preprocessing files.
For the baseline, run the following commands:
cd Baseline
python F2MF_main.py
To run the code of the paper, run the following commands:
cd F2PGNN_main
python main_table1.py or python main_fig5.py
Each run for different (hyperparameters) settings saves the required files at the given path.
The estimated running time is from 30 minutes to hours, depending on the dataset size.