GitHub 您所在的位置:网站首页 奇怪工厂里面的蛋仔皮肤怎么画 GitHub

GitHub

2023-03-16 14:59| 来源: 网络整理| 查看: 265

FairGNN

A PyTorch implementation of "Say No to the Discrimination: Learning Fair Graph Neural Networks with Limited Sensitive Attribute Information" (WSDM 2021). [paper]

Abstract

Graph neural networks (GNNs) have shown great power in modeling graph structured data. However, similar to other machine learning models, GNNs may make predictions biased on protected sensitive attributes, e.g., skin color, gender, and nationality. Because machine learning algorithms including GNNs are trained to faithfully reflect the distribution of the training data which often contains historical bias towards sensitive attributes. In addition, the discrimination in GNNs can be magnified by graph structures and the message-passing mechanism. As a result, the applications of GNNs in sensitive domains such as crime rate prediction would be largely limited. Though extensive studies of fair classification have been conducted on i.i.d data, methods to address the problem of discrimination on non-i.i.d data are rather limited. Furthermore, the practical scenario of sparse annotations in sensitive attributes is rarely considered in existing works. Therefore, we study the novel and important problem of learning fair GNNs with limited sensitive attribute information. FairGNN is proposed to eliminate the bias of GNNs whilst maintaining high node classification accuracy by leveraging graph structures and limited sensitive information. Our theoretical analysis shows that FairGNN can ensure the fairness of GNNs under mild conditions given limited nodes with known sensitive attributes. Extensive experiments on real-world datasets also demonstrate the effectiveness of FairGNN in debiasing and keeping high accuracy.

Requirements torch==1.2.0 DGL=0.4.3 Run the code

After installation, you can clone this repository

git clone https://github.com/EnyanDai/FariGNN.git cd FairGNN/src python train_fairGNN.py \ --seed=42 \ --epochs=2000 \ --model=GCN \ --sens_number=200 \ --dataset=pokec_z \ --num-hidden=128 \ --acc=0.69 \ --roc=0.76 \ --alpha=100 \ --beta=1 Model Selection

During the training phase, we will select the best epoch based on the performance on the validation set. More speciafically, the selection rules are:

We only care about the epochs that the accuracy and roc socre of the FairGNN on the validation set are higher than the thresholds (defined by --acc and --roc). We will select the epoch whose summation of parity and equal opportunity is the smallest. Data Set Pokec_z and Pokec_n are stored in dataset\pokec as region_job.xxx and region_job_2.xxx, respectively. They are sampled from soc_Pokec. @inproceedings{takac2012data, title={Data analysis in public social networks}, author={Takac, Lubos and Zabovsky, Michal}, booktitle={International scientific conference and international workshop present day trends of innovations}, volume={1}, number={6}, year={2012} NBA is stored in dataset\NBA as nba.xxx It is collected with through the Twitter social network and the players' information on Kaggle Reproduce the results

Please use DGL 0.4.3, the version of the DGL can affect the results a lot. All the hyper-parameters settings are included in src\scripts folder.

To reproduce the performance reported in the paper, you can run the bash files in folder src\scripts.

bash scripts/pokec_z/train_fairGCN.sh

Here are some example results:

Cite

If you find this repo to be useful, please cite our paper. Thank you.

@inproceedings{dai2021say, title={Say No to the Discrimination: Learning Fair Graph Neural Networks with Limited Sensitive Attribute Information}, author={Dai, Enyan and Wang, Suhang}, booktitle={Proceedings of the 14th ACM International Conference on Web Search and Data Mining}, pages={680--688}, year={2021} }


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有