{"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/pairwise-alignment-improves-graph-domain","title":"Pairwise Alignment Improves Graph Domain Adaptation","arxiv_id":"2403.01092","date":"2024-03-02","proceeding":null,"authors":["Shikun Liu","Deyu Zou","Han Zhao","Pan Li"],"abstract":"Graph-based methods, pivotal for label inference over interconnected objects in many real-world applications, often encounter generalization challenges, if the graph used for model training differs significantly from the graph used for testing. This work delves into Graph Domain Adaptation (GDA) to address the unique complexities of distribution shifts over graph data, where interconnected data points experience shifts in features, labels, and in particular, connecting patterns. We propose a novel, theoretically principled method, Pairwise Alignment (Pair-Align) to counter graph structure shift by mitigating conditional structure shift (CSS) and label shift (LS). Pair-Align uses edge weights to recalibrate the influence among neighboring nodes to handle CSS and adjusts the classification loss with label weights to handle LS. Our method demonstrates superior performance in real-world applications, including node classification with region shift in social networks, and the pileup mitigation task in particle colliding experiments. For the first application, we also curate the largest dataset by far for GDA studies. Our method shows strong performance in synthetic and other existing benchmark datasets.","url_abs":"https://arxiv.org/abs/2403.01092v2","url_pdf":"https://arxiv.org/pdf/2403.01092v2.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":"pairwise-alignment-improves-graph-domain","repo_url":"https://github.com/graph-com/pair-align","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"domain-adaptation","task_name":"Domain Adaptation"},{"task_slug":"graph-domain-adaptation","task_name":"GRAPH DOMAIN ADAPTATION"},{"task_slug":"node-classification","task_name":"Node Classification"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2403.01092","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2403.01092"}},"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/graph-com/pair-align","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran_draft_wrong":5},"by_repo_kind":{"official":{"samples":5,"ran":5,"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":0,"samples":[{"code_sha256_prefix":"ebef98525e89e8a8","entry":"LS_optimization","repo":"graph-com/pair-align","repo_kind":"official","path":"src/calc_rw.py","file_url":"https://github.com/graph-com/pair-align/blob/HEAD/src/calc_rw.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ebef98525e89e8a8"}},{"code_sha256_prefix":"56cbdcee85eb33d7","entry":"calc_edge_rw_pseudo","repo":"graph-com/pair-align","repo_kind":"official","path":"src/calc_rw.py","file_url":"https://github.com/graph-com/pair-align/blob/HEAD/src/calc_rw.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"56cbdcee85eb33d7"}},{"code_sha256_prefix":"3314a8dc8f22a69d","entry":"calc_ratio_weight","repo":"graph-com/pair-align","repo_kind":"official","path":"src/calc_rw.py","file_url":"https://github.com/graph-com/pair-align/blob/HEAD/src/calc_rw.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3314a8dc8f22a69d"}},{"code_sha256_prefix":"9e480bc71d643ce7","entry":"edgeidx_to_adj","repo":"graph-com/pair-align","repo_kind":"official","path":"data_process/pre_datasets.py","file_url":"https://github.com/graph-com/pair-align/blob/HEAD/data_process/pre_datasets.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"9e480bc71d643ce7"}},{"code_sha256_prefix":"b303d995f3e0d28e","entry":"edges_to_adj","repo":"graph-com/pair-align","repo_kind":"official","path":"data_process/pre_datasets.py","file_url":"https://github.com/graph-com/pair-align/blob/HEAD/data_process/pre_datasets.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"b303d995f3e0d28e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}