A coarsened graph simplifies a large graph by aggregating nodes and edges while preserving as much structural and relational information as possible. Fewer vertices and edges make the result easier to analyze and process. section 7.10
A typical coarsening workflow is:
- Apply a coarsening algorithm to produce a normalized partition matrix, whose clusters become super-nodes. section 7.10
- Construct the coarse graph and compute its node features and labels. section 7.10
- Train on the coarsened graph, then test the resulting weight matrix on the original graph. section 7.10
PyTorch Geometric pipeline
In PyTorch Geometric, clustering can use graclus(), followed by pooling with max_pool() or avg_pool(). A KarateClub example makes edges undirected, creates a batch vector, computes cluster assignments with graclus(edge_index), and calls max_pool(cluster, data). The example reduces 34 nodes and 156 edges to 22 nodes and 98 edges. section 7.10
