Papers › Bag of Tricks for Node Classification with Graph Neural Networks
Bag of Tricks for Node Classification with Graph Neural Networks
Yangkun Wang, Jiarui Jin, Weinan Zhang, Yong Yu, Zheng Zhang, David Wipf
Over the past few years, graph neural networks (GNN) and label propagation-based methods have made significant progress in addressing node classification tasks on graphs. However, in addition to their reliance on elaborate architectures and algorithms, there are several key technical details that are frequently overlooked, and yet nonetheless can play a vital role in achieving satisfactory performance. In this paper, we first summarize a series of existing tricks-of-the-trade, and then propose several new ones related to label usage, loss function formulation, and model design that can significantly improve various GNN architectures. We empirically evaluate their impact on final node classification accuracy by conducting ablation studies and demonstrate consistently-improved performance, often to an extent that outweighs the gains from more dramatic changes in the underlying GNN architecture. Notably, many of the top-ranked models on the Open Graph Benchmark (OGB) leaderboard and KDDCUP 2021 Large-Scale Challenge MAG240M-LSC benefit from these techniques we initiated.
In Syntology Open this paper in Syntology's Atlas, the map of the papers in Syntology's graph and their citations.
Code
Repository list and official/mentioned flags are the archive's, frozen 2025-07-28. Reachability, where shown, is from one Syntology probe window (2026-09-16 to 2026-09-18); repositories not probed show nothing. GitHub stars are not tracked.
Code Syntology ran Syntology
Not run by Syntology. Nothing on this page verifies that the listed code works.
Tasks
Results from the paper archive 2025-07-28
| Task | Dataset | Model | Metric | Value | Rank at snapshot | Leaderboard | Report |
|---|---|---|---|---|---|---|---|
| Node Property Prediction | ogbn-arxiv | GAT+norm. adj.+label reuse | Ext. data | No | #34 of 86 | Archive leaderboard | report |
| Node Property Prediction | ogbn-arxiv | GAT+norm. adj.+label reuse | Number of params | 1441580 | #34 of 86 | Archive leaderboard | report |
| Node Property Prediction | ogbn-arxiv | GAT+norm. adj.+label reuse | Test Accuracy | 0.7391 ± 0.0012 | #34 of 86 | Archive leaderboard | report |
| Node Property Prediction | ogbn-arxiv | GAT+norm. adj.+label reuse | Validation Accuracy | 0.7516 ± 0.0008 | #34 of 86 | Archive leaderboard | report |
| Node Property Prediction | ogbn-arxiv | GAT+norm. adj.+labels | Ext. data | No | #40 of 86 | Archive leaderboard | report |
| Node Property Prediction | ogbn-arxiv | GAT+norm. adj.+labels | Number of params | 1441580 | #40 of 86 | Archive leaderboard | report |
| Node Property Prediction | ogbn-arxiv | GAT+norm. adj.+labels | Test Accuracy | 0.7366 ± 0.0011 | #40 of 86 | Archive leaderboard | report |
| Node Property Prediction | ogbn-arxiv | GAT+norm. adj.+labels | Validation Accuracy | 0.7508 ± 0.0009 | #40 of 86 | Archive leaderboard | report |
| Node Property Prediction | ogbn-arxiv | GAT+norm.adj.+labels | Ext. data | No | #41 of 86 | Archive leaderboard | report |
| Node Property Prediction | ogbn-arxiv | GAT+norm.adj.+labels | Number of params | 1628440 | #41 of 86 | Archive leaderboard | report |
| Node Property Prediction | ogbn-arxiv | GAT+norm.adj.+labels | Test Accuracy | 0.7365 ± 0.0011 | #41 of 86 | Archive leaderboard | report |
| Node Property Prediction | ogbn-arxiv | GAT+norm.adj.+labels | Validation Accuracy | 0.7504 ± 0.0006 | #41 of 86 | Archive leaderboard | report |
| Node Property Prediction | ogbn-arxiv | GCN+linear+labels | Ext. data | No | #49 of 86 | Archive leaderboard | report |
| Node Property Prediction | ogbn-arxiv | GCN+linear+labels | Number of params | 238632 | #49 of 86 | Archive leaderboard | report |
| Node Property Prediction | ogbn-arxiv | GCN+linear+labels | Test Accuracy | 0.7306 ± 0.0024 | #49 of 86 | Archive leaderboard | report |
| Node Property Prediction | ogbn-arxiv | GCN+linear+labels | Validation Accuracy | 0.7442 ± 0.0012 | #49 of 86 | Archive leaderboard | report |
| Node Property Prediction | ogbn-proteins | GAT+BoT | Ext. data | No | #7 of 26 | Archive leaderboard | report |
| Node Property Prediction | ogbn-proteins | GAT+BoT | Number of params | 2484192 | #7 of 26 | Archive leaderboard | report |
| Node Property Prediction | ogbn-proteins | GAT+BoT | Test ROC-AUC | 0.8765 ± 0.0008 | #7 of 26 | Archive leaderboard | report |
| Node Property Prediction | ogbn-proteins | GAT+BoT | Validation ROC-AUC | 0.9280 ± 0.0008 | #7 of 26 | Archive leaderboard | report |
| Node Property Prediction | ogbn-proteins | GAT+EdgeFeatureAtt | Ext. data | No | #11 of 26 | Archive leaderboard | report |
| Node Property Prediction | ogbn-proteins | GAT+EdgeFeatureAtt | Number of params | 2475232 | #11 of 26 | Archive leaderboard | report |
| Node Property Prediction | ogbn-proteins | GAT+EdgeFeatureAtt | Test ROC-AUC | 0.8682 ± 0.0021 | #11 of 26 | Archive leaderboard | report |
| Node Property Prediction | ogbn-proteins | GAT+EdgeFeatureAtt | Validation ROC-AUC | 0.9194 ± 0.0003 | #11 of 26 | Archive leaderboard | report |
Ranks are positions in the archive's leaderboards as they stood at the 2025-07-28 snapshot. Results published since then are not among these rows, so a rank here is not a current standing.
Report a problem or propose a change · a person checks every report against the paper or source before anything changes; decisions are listed on /corrections