# Uniform Pooling for Graph Networks
## 4 Experiments
### Graph Classification on Benchmark Datasets  
From benchmark datasets [36], we selected three protein structure datasets including D&D [37], PROTEINS [38] and ENZYMES [39], and selected two biological datasets including NCI1 and NCI109 [40]. D&D and PROTEINS contain large numbers of graph samples (>1 k) associated with two categories, and ENZYMES contains 500 graphs divided into six categories. Both NCI1 and NCI109 maintain more than 4 k graph samples with two categories. See Table 2 for details of all the datasets.  
UGPool architecture with different GCN models to evaluate whether our pooling model can effectively improve the existing GCN models.  
Table 3 lists the classification accuracy of each dataset using GCNConv with different pooling methods. Please note that based on the same GCNConv architecture, our UGPool method dramatically outperforms other node-based graph pooling methods. While the performance of our method is worse than the edge-based pooling method (EdgePool) in ENZYMES, NCI1, and NCI109, the efficiency of our method is significantly superior to EdgePool, as shown in Figure 2. The runtime of EdgePool is related to the number of edges, and the runtime of our UGPool is only related to the number of nodes. Therefore, the efficiency advantage of our algorithm will be more prominent in the larger graphs with larger edges. These results show that our UGPool that can uniformly pool node features is more reasonable than other pooling methods that only retains high-scoring nodes. Table 4 lists classification accuracy based on different GCN models with and without UGPool. The results show that our method can be easily integrated into the general GCN models to improve classification performance.  
\begin{table}
\begin{tabular}{c c c c c c} \hline \hline
**Models** & **D\&D** & **ENZYMES** & **PROTEINS** & **NCI1** & **NCI109** \\ \hline DiffPool & 66.95 \(\pm\) 2.41 & 20.3 \(\pm\) 1.62 & 68.20 \(\pm\) 2.02 & 62.32 \(\pm\) 1.90 & 61.98 \(\pm\) 1.98 \\ gPoolh & 75.94 \(\pm\) 0.95 & 25.07 \(\pm\) 1.86 & 62.46 \(\pm\) 0.81 & 66.53 \(\pm\) 1.73 & 66.66 \(\pm\) 0.97 \\ SAGPoolh & 76.15 \(\pm\) 1.03 & 23.65 \(\pm\) 1.69 & 62.53 \(\pm\) 0.83 & 66.07 \(\pm\) 1.43 & 66.07 \(\pm\) 1.45 \\ EdgePoolh & 76.11 \(\pm\) 0.48 & **39.28 \(\pm\) 2.96** & **74.8 \(\pm\) 0.62** & **76.43 \(\pm\) 0.41** & **75.33 \(\pm\) 0.79** \\ UGPoolh (ours) & **76.16 \(\pm\) 0.80** & 28.47 \(\pm\) 2.85 & 74.22 \(\pm\) 0.75 & 70.08 \(\pm\) 0.56 & 69.56 \(\pm\) 0.75 \\ \hline gPoolg & 77.01 \(\pm\) 0.88 & 32.50 \(\pm\) 2.96 & 74.14 \(\pm\) 0.82 & 75.89 \(\pm\) 1.50 & 73.96 \(\pm\) 1.29 \\ SAGPoolg & 76.75 \(\pm\) 0.90 & 37.33 \(\pm\) 2.11 & 73.33 \(\pm\) 0.54 & 76.02 \(\pm\) 1.44 & 74.32 \(\pm\) 1.45 \\ EdgePoolg & 75.30 \(\pm\) 1.03 & **38.67 \(\pm\) 2.36** & 73.15 \(\pm\) 0.72 & **78.13 \(\pm\) 1.47** & **76.04 \(\pm\) 1.05** \\ UGPoolg (ours) & **77.69 \(\pm\) 0.90** & 35.17 \(\pm\) 2.04 & **75.14 \(\pm\) 0.83** & 77.01 \(\pm\) 1.73 & 75.87 \(\pm\) 0.96 \\ \hline \hline \end{tabular}
\end{table}
Table 3: Graph classification accuracy via GCNConv with different pooling methods.  
Figure 2: The runtime of different models in a training epoch on different dataset, respectively. Please note that in order to ensure the reliability of the evaluation we calculated the average runtime over 50 epochs. gPoolh denotes the hierarchical pooling architecture, and gPoolg denotes the global pooling architecture.