{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/towards-a-practical-k-dimensional-weisfeiler","title":"Weisfeiler and Leman go sparse: Towards scalable higher-order graph embeddings","arxiv_id":"1904.01543","date":"2019-04-02","proceeding":"NeurIPS 2020 12","authors":["Christopher Morris","Gaurav Rattan","Petra Mutzel"],"abstract":"Graph kernels based on the $1$-dimensional Weisfeiler-Leman algorithm and corresponding neural architectures recently emerged as powerful tools for (supervised) learning with graphs. However, due to the purely local nature of the algorithms, they might miss essential patterns in the given data and can only handle binary relations. The $k$-dimensional Weisfeiler-Leman algorithm addresses this by considering $k$-tuples, defined over the set of vertices, and defines a suitable notion of adjacency between these vertex tuples. Hence, it accounts for the higher-order interactions between vertices. However, it does not scale and may suffer from overfitting when used in a machine learning setting. Hence, it remains an important open problem to design WL-based graph learning methods that are simultaneously expressive, scalable, and non-overfitting. Here, we propose local variants and corresponding neural architectures, which consider a subset of the original neighborhood, making them more scalable, and less prone to overfitting. The expressive power of (one of) our algorithms is strictly higher than the original algorithm, in terms of ability to distinguish non-isomorphic graphs. Our experimental study confirms that the local algorithms, both kernel and neural architectures, lead to vastly reduced computation times, and prevent overfitting. The kernel version establishes a new state-of-the-art for graph classification on a wide range of benchmark datasets, while the neural version shows promising performance on large-scale molecular regression tasks.","url_abs":"https://arxiv.org/abs/1904.01543v3","url_pdf":"https://arxiv.org/pdf/1904.01543v3.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"towards-a-practical-k-dimensional-weisfeiler","repo_url":"https://github.com/chrsmrrs/sparsewl","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"classification","task_name":"General Classification"},{"task_slug":"graph-classification","task_name":"Graph Classification"},{"task_slug":"graph-learning","task_name":"Graph Learning"},{"task_slug":"graph-regression","task_name":"Graph Regression"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[{"leaderboard":"/sota/graph-classification-on-enzymes","task":"Graph Classification","dataset":"ENZYMES","model":"δ-2-LWL","rank_in_archive_order":33,"of":54,"metrics":{"Accuracy":"58.2%"},"uses_additional_data":false},{"leaderboard":"/sota/graph-classification-on-imdb-b","task":"Graph Classification","dataset":"IMDb-B","model":"δ-2-LWL","rank_in_archive_order":32,"of":51,"metrics":{"Accuracy":"73.4%"},"uses_additional_data":false},{"leaderboard":"/sota/graph-classification-on-imdb-m","task":"Graph Classification","dataset":"IMDb-M","model":"δ-2-LWL","rank_in_archive_order":21,"of":36,"metrics":{"Accuracy":"50.5%"},"uses_additional_data":false},{"leaderboard":"/sota/graph-classification-on-nci1","task":"Graph Classification","dataset":"NCI1","model":"δ-2-LWL","rank_in_archive_order":9,"of":69,"metrics":{"Accuracy":"85.5%"},"uses_additional_data":false},{"leaderboard":"/sota/graph-classification-on-nci109","task":"Graph Classification","dataset":"NCI109","model":"δ-2-LWL","rank_in_archive_order":4,"of":38,"metrics":{"Accuracy":"84.7"},"uses_additional_data":false},{"leaderboard":"/sota/graph-classification-on-proteins","task":"Graph Classification","dataset":"PROTEINS","model":"δ-2-LWL","rank_in_archive_order":78,"of":103,"metrics":{"Accuracy":"74.60%"},"uses_additional_data":false},{"leaderboard":"/sota/graph-classification-on-ptc","task":"Graph Classification","dataset":"PTC","model":"δ-2-LWL","rank_in_archive_order":30,"of":37,"metrics":{"Accuracy":"62.70%"},"uses_additional_data":false},{"leaderboard":"/sota/graph-classification-on-reddit-b","task":"Graph Classification","dataset":"REDDIT-B","model":"δ-2-LWL","rank_in_archive_order":8,"of":12,"metrics":{"Accuracy":"89.0"},"uses_additional_data":false},{"leaderboard":"/sota/graph-regression-on-zinc-full","task":"Graph Regression","dataset":"ZINC-full","model":"δ-2-GNN","rank_in_archive_order":11,"of":19,"metrics":{"Test MAE":"0.042±0.003"},"uses_additional_data":false},{"leaderboard":"/sota/graph-regression-on-zinc-full","task":"Graph Regression","dataset":"ZINC-full","model":"δ-2-LGNN","rank_in_archive_order":12,"of":19,"metrics":{"Test MAE":"0.045±0.006"},"uses_additional_data":false}],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=1904.01543","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1904.01543"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-24T18:15:14+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/chrsmrrs/sparsewl","reach":null}],"summary":{"unverified":1},"by_repo_kind":{"official":{"samples":1,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":1,"samples":[{"code_sha256_prefix":"59a2828bfcee218d","entry":"read_classes","repo":"chrsmrrs/sparsewl","repo_kind":"official","path":"kernels/svm/svm.py","file_url":"https://github.com/chrsmrrs/sparsewl/blob/HEAD/kernels/svm/svm.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"59a2828bfcee218d"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}