erasmopurif commited on
Commit
8cfe7df
1 Parent(s): d2a8669

Updated README

Browse files
Files changed (1) hide show
  1. README.md +62 -1
README.md CHANGED
@@ -9,5 +9,66 @@ app_file: Homepage.py
9
  pinned: false
10
  license: cc-by-4.0
11
  ---
 
12
 
13
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
9
  pinned: false
10
  license: cc-by-4.0
11
  ---
12
+ [![Python](https://img.shields.io/badge/Python-3.8.10-%233776AB?logo=Python)](https://www.python.org/)
13
 
14
+ # FairUP
15
+ The official implmentation of "FairUP: a Framework for Fairness Analysis of Graph Neural Network-Based User Profiling Models"
16
+
17
+ ![fairup_architecture](https://user-images.githubusercontent.com/45569039/220563974-905756a9-eb1f-4140-9a17-73b8c3a52529.png)
18
+
19
+ The framework currently supports these GNN models:
20
+ - [FairGNN](https://arxiv.org/abs/2009.01454)
21
+ - [RHGN](https://arxiv.org/abs/2110.07181)
22
+ - [CatGCN](https://arxiv.org/abs/2009.05303)
23
+ ## Abstract
24
+ Modern user profiling approaches capture different forms of interactions with the data, from user-item to user-user relationships. Graph Neural Networks (GNNs) have become a natural way to model these behaviours and build efficient and effective user profiles. However, each GNN-based user profiling approach has its own way of processing information, thus creating heterogeneity that does not favour the benchmarking of these techniques. To overcome this issue, we present FairUP, a framework that standardises the input needed to run three state-of-the-art GNN-based models for user profiling tasks. Moreover, given the importance that algorithmic fairness is getting in the evaluation of machine learning systems, FairUP includes two additional components to (1) analyse pre-processing and post-processing fairness and (2) mitigate the potential presence of unfairness in the original datasets through three pre-processing debiasing techniques. The framework, while extensible in multiple directions, in its first version, allow the user to conduct experiments on four real-world datasets.
25
+
26
+ # Description
27
+ **FairUP** is a standardised framework that empowers researchers and practitioners to simultaneously analyse state-of-the-art Graph Neural Network-based models for user profiling task, in terms of classification performance and fairness metrics scores.
28
+
29
+ The framework, whose architecture is shown above, presents several components, which allow end-users to:
30
+ * compute the fairness of the input dataset by means of a pre-processing fairness metric, i.e. *disparate impact*;
31
+ * mitigate the unfairness of the dataset, if needed, by applying different debiasing methods, i.e. *sampling*, *reweighting* and *disparate impact remover*;
32
+ * standardise the input (a graph in Neo4J or NetworkX format) for each of the included GNNs;
33
+ * train one or more GNN models, specifying the parameters for each of them;
34
+ * evaluate post-hoc fairness by exploiting four metrics, i.e. *statistical parity*, *equal opportunity*, *overall accuracy equality*, *treatment equality*.
35
+
36
+
37
+ ##
38
+ ## Requirements
39
+ The code has been executed under Python 3.8.1, with the dependencies listed below.
40
+
41
+ ```
42
+ dgl==0.6.1
43
+ dgl_cu113==0.7.2
44
+ fasttext==0.9.2
45
+ fitlog==0.9.13
46
+ hickle==4.0.4
47
+ matplotlib==3.5.1
48
+ metis==0.2a5
49
+ networkx==2.6.3
50
+ numpy==1.22.0
51
+ pandas==1.3.5
52
+ scikit_learn==1.0.2
53
+ scipy==1.7.3
54
+ texttable==1.6.4
55
+ torch==1.10.1+cu113
56
+ torch_geometric==2.0.3
57
+ torch_scatter==2.0.9
58
+ tqdm==4.62.3
59
+ ```
60
+ Notes:
61
+ * the file `requirements.txt` installs all dependencies for both models;
62
+ * the dependencies including `cu113` are meant to run on **CUDA 11.3** (install the correct package based on your version of CUDA).
63
+
64
+ ## Demonstration
65
+ * [Web app](https://mohamedabdelrazek9-fairup-homepage-gv365a.streamlit.app/)
66
+ * [Demo video](https://bit.ly/FairUP-demo-video)
67
+
68
+ ## Next steps
69
+ - [ ] Adding new GNN models.
70
+ - [ ] Adding more datasets and fairness metrics.
71
+
72
+ ## Contact
73
+ - **M.Sc. Erasmo Purificato: [email protected]**
74
+ - **M.Sc. Mohamed Abdelrazek: [email protected]**