This repository contains the author's implementation in Pytorch for the paper "Contrastive Domain-adaptive Graph Selective Self-training Network for Cross-network Edge Classification".
For reproduction of the results reported in our paper, please use the environment below:
• python == 3.6.7
• pytorch == 1.10.2
• numpy == 1.19.2
• scipy == 1.5.1
• dgl == 0.8.2
• sklearn == 0.24.2
3 datasets are used in our paper.
Each ".mat" file stores a network dataset, where
the variable "network" represents an adjacency matrix,
the variable "attrb" represents a node attribute matrix,
the variable "group" represents a node label matrix.
We generate the edge labels based on the node label of two nodes on each edge.
Specifically, a homophilous edge indicates that the two connected nodes share at least one common class-label.
On the contrary, a heterophilous edge reflects that the two connected nodes have totally different class-labels.
"model.py" is the implementation of the CDGSN model.
"CDGSN_main.py" is an example case of the cross-network edge classification task from citationv1 to acmv9 networks.