ADGC is a collection of state-of-the-art (SOTA), novel deep graph clustering methods (papers, codes and datasets). Any other interesting papers and codes are welcome. Any problems, please contact [email protected]. If you find this repository useful to your research or work, it is really appreciated to star this repository. ❤️
Deep graph clustering, which aims to reveal the underlying graph structure and divide the nodes into different groups, has attracted intensive attention in recent years.
- K-Means: "Algorithm AS 136: A k-means clustering algorithm" [paper|code]
- SAE (AAAI14): "Learning Deep Representations for Graph Clustering" [paper|code]
- DEC (ICML16): "Unsupervised Deep Embedding for Clustering Analysis" [paper|code]
- GAE/VGAE (NeurIPS16): "Variational Graph Auto-Encoders" [paper|code]
- DCN (ICML17): "Towards k-means-friendly spaces: Simultaneous deep learning and clustering" [paper|code]
- IDEC (IJCAI17): "Improved Deep Embedded Clustering with Local Structure Preservation" [paper|code]
- MGAE (CIKM17): "MGAE: Marginalized Graph Autoencoder for Graph Clustering" [paper|code]
- NetVAE (IJCAI19): "Network-Specific Variational Auto-Encoder for Embedding in Attribute Networks" [paper]
- DAEGC (IJCAI19): "Attributed Graph Clustering: A Deep Attentional Embedding Approach" [paper|code]
- AGAE (IJCAI19): "Adversarial Graph Embedding for Ensemble Clustering" [paper]
- AGC (IJCAI19): "Attributed Graph Clustering via Adaptive Graph Convolution" [paper|code]
- GALA (ICCV19): "Symmetric Graph Convolutional Autoencoder for Unsupervised Graph Representation Learning" [paper|code]
- ARGA/ARVGA (TCYB19): "Learning Graph Embedding with Adversarial Training Methods" [paper|code]
- MCGC (TIP19): "Multiview Consensus Graph Clustering" [paper|code]
- RWR-GAE (arXiv19): "RWR-GAE: Random Walk Regularization for Graph Auto Encoders" [paper|code]
- HAN (WWW2019): "Heterogeneous Graph Attention Network" [paper|code]
- DAG (ICCKE20): "Attributed Graph Clustering via Deep Adaptive Graph Maximization" [paper]
- SDCN/SDCN_Q (WWW20): "Structural Deep Clustering Network" [paper|code]
- AGE (SIGKDD20): "Adaptive Graph Encoder for Attributed Graph Embedding" [paper|code]
- MAGCN (IJCAI20): "Multi-View Attribute Graph Convolution Networks for Clustering" [paper|code]
- MVGRL (ICML20): "Contrastive Multi-View Representation Learning on Graphs" [paper|code]
- Cross-Graph (ICDM20): "Cross-Graph: Robust and Unsupervised Embedding for Attributed Graphs with Corrupted Structure" [paper|code]
- CGCN/GMM-VGAE (AAAI20): "Collaborative Graph Convolutional Networks: Unsupervised Learning Meets Semi-Supervised Learning" [paper|code]
- DMGI (AAAI20): "Unsupervised Attributed Multiplex Network Embedding" [paper|code]
- O2MAC (WWW20): "One2Multi Graph Autoencoder for Multi-view Graph Clustering" [paper|code]
- MAGNN (WWW20): "MAGNN: Metapath Aggregated Graph Neural Network for Heterogeneous Graph Embedding" [paper|code]
- MinCutPool (ICML20): "Spectral Clustering with Graph Neural Networks for Graph Pooling" [paper|code]
- GCAGC (CVPR20): "Adaptive Graph Convolutional Network with Attention Graph Clustering for Co saliency Detection" [paper|code]
- DBGAN (CVPR20): "Distribution-induced Bidirectional GAN for Graph Representation Learning" [paper|code]
- DGVAE (NeurIPS20): "Dirichlet Graph Variational Autoencoder" [paper|code]
- CAGNN (arXiv20): "Cluster-Aware Graph Neural Networks for Unsupervised Graph Representation Learning" [paper]
- GDCL (IJCAI21): "Graph Debiased Contrastive Learning with Joint Representation Clustering" [paper|code]
- GCC (ICCV21): "Graph Contrastive Clustering" [paper|code]
- MCGC (NeurIPS21): "Multi-view Contrastive Graph Clustering" [paper|code]
- COLES (NeurIPS21): "Contrastive Laplacian Eigenmaps" [paper|code]
- AGCN (MM2021): "Attention-driven Graph Clustering Network" [paper|code]
- DFCN (AAAI21): "Deep Fusion Clustering Network" [paper|code]
- SCAGC (arXiv21): "Self-supervised Contrastive Attributed Graph Clustering" [paper]
- R-GAE (arXiv21): "Rethinking Graph Auto-Encoder Models for Attributed Graph Clustering" [paper|code]
- WARGA (arXiv21): "Wasserstein Adversarially Regularized Graph Autoencoder" [paper|code]
- DAGC (arXiv21, extension of AGCN): ”Deep Attention-guided Graph Clustering with Dual Self-supervision“ [paper|code]
- MGCCN (arXiv21): "Multilayer Graph Contrastive Clustering Network" [paper]
- Graph-MVP (arXiv21): "Graph-MVP: Multi-View Prototypical Contrastive Learning for Multiplex Graphs" [paper|code]
- MvAGC (IJCAI21): "Graph Filter-based Multi-view Attributed Graph Clustering" [paper|code]
- GIC (PAKDD21): "Graph InfoClust: Maximizing Coarse-Grain Mutual Information in Graphs" [paper|code]
- HDMI (WWW21): "High-order Deep Multiplex Infomax" [paper|code]
- SOLI (Neurocomputing21): "Deep node clustering based on mutual information maximization" [paper|code]
- MAGC (TKDE21): "Multi-view Attributed Graph Clustering" [paper|code]
- AHGAE (TKDE21): "Adaptive Hypergraph Auto-Encoder for Relational Data Clustering" [paper]
- AdaGAE (TPAMI21): "Adaptive Graph Auto-Encoder for General Data Clustering" [paper|code]
- NAS-GC (TCYB21): "Smoothness Sensor: Adaptive Smoothness Transition Graph Convolutions for Attributed Graph Clustering" [paper|code]
- SENet (NN21): "Spectral embedding network for attributed graph clustering" [paper]
- GC-VGE (PR22): "Graph Clustering via Variational Graph Embedding" [paper]
- DNENC (PR22): "Deep neighbor-aware embedding for node clustering in attributed graphs" [paper]
- SDSNE(AAAI22): "Stationary diffusion state neural estimation for multiview clustering" [paper|code]
- SAIL(AAAI22): "SAIL: Self-Augmented Graph Contrastive Learning" [paper]
- AFGRL (AAAI22): "Augmentation-Free Self-Supervised Learning on Graphs" [paper|code]
- DCRN (AAAI22): "Deep Graph Clustering via Dual Correlation Reduction" [paper|code]
- AUTOSSL (ICLR22): "Automated Self-Supervised Learning For Graphs" [paper|code]
- SAGES (TKDE22): "SAGES: Scalable Attributed Graph Embedding with Sampling for Unsupervised Learning" [paper]
- GCC (WSDM22): "Efficient Graph Convolution for Joint Node Representation Learning and Clustering" [paper|code]
- IDCRN (arXiv22, extension of DCRN): "Improved Dual Correlation Reduction Network" [paper]
- MVGC (NN22) : "Multi-view graph embedding clustering network: Joint self-supervision and block diagonal representation" [paper|code]
We divide the datasets into two categories, i.e. graph datasets and non-graph datasets. Graph datasets are some graphs in real-world, such as citation networks, social networks and so on. Non-graph datasets are NOT graph type. However, if necessary, we could construct "adjacency matrices" by K-Nearest Neighbors (KNN) algorithm.
- Step1: Download all datasets from [Google Drive | Nutstore]. Optionally, download some of them from URLs in the tables (Google Drive)
- Step2: Unzip them to ./dataset/
- Step3: Change the type and the name of the dataset in main.py
- Step4: Run the main.py
- utils.py
- load_graph_data: load graph datasets
- load_data: load non-graph datasets
- normalize_adj: normalize the adjacency matrix
- diffusion_adj: calculate the graph diffusion
- construct_graph: construct the knn graph for non-graph datasets
- numpy_to_torch: convert numpy to torch
- torch_to_numpy: convert torch to numpy
- clustering.py
- setup_seed: fix the random seed
- evaluation: evaluate the performance of clustering
- k_means: K-means algorithm
- visualization.py
- t_sne: t-SNE algorithm
- similarity_plot: visualize cosine similarity matrix of the embedding or feature
About the introduction of each dataset, please check here
-
Graph Datasets
Dataset Samples Dimension Edges Classes URL CORA 2708 1433 5278 7 cora.zip CITESEER 3327 3703 4552 6 citeseer.zip PUBMED 19717 500 44324 3 pubmed.zip DBLP 4057 334 3528 4 dblp.zip CITE 3327 3703 4552 6 cite.zip ACM 3025 1870 13128 3 acm.zip AMAP 7650 745 119081 8 amap.zip AMAC 13752 767 245861 10 amac.zip CORAFULL 19793 8710 63421 70 corafull.zip WIKI 2405 4973 8261 19 wiki.zip COCS 18333 6805 81894 15 cocs.zip BAT 131 81 1038 4 bat.zip EAT 399 203 5994 4 eat.zip UAT 1190 239 13599 4 uat.zip
Edges: Here, we just count the number of undirected edges.
-
Non-graph Datasets
Dataset Samples Dimension Type Classes URL USPS 9298 256 Image 10 usps.zip HHAR 10299 561 Record 6 hhar.zip REUT 10000 2000 Text 4 reut.zip
If you use code in this repository for your research, please cite our paper.
@inproceedings{DCRN,
title={Deep Graph Clustering via Dual Correlation Reduction},
author={Liu, Yue and Tu, Wenxuan and Zhou, Sihang and Liu, Xinwang and Song, Linxuan and Yang, Xihong and Zhu, En},
booktitle={AAAI Conference on Artificial Intelligence},
year={2022}
}
@article{mrabah2021rethinking,
title={Rethinking Graph Auto-Encoder Models for Attributed Graph Clustering},
author={Mrabah, Nairouz and Bouguessa, Mohamed and Touati, Mohamed Fawzi and Ksantini, Riadh},
journal={arXiv preprint arXiv:2107.08562},
year={2021}
}
awesome-awesome-machine-learning