{"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/deep-semi-supervised-anomaly-detection-with","title":"Label-based Graph Augmentation with Metapath for Graph Anomaly Detection","arxiv_id":"2308.10918","date":"2023-08-21","proceeding":null,"authors":["Hwan Kim","JungHoon Kim","Byung Suk Lee","Sungsu Lim"],"abstract":"Graph anomaly detection has attracted considerable attention from various domain ranging from network security to finance in recent years. Due to the fact that labeling is very costly, existing methods are predominately developed in an unsupervised manner. However, the detected anomalies may be found out uninteresting instances due to the absence of prior knowledge regarding the anomalies looking for. This issue may be solved by using few labeled anomalies as prior knowledge. In real-world scenarios, we can easily obtain few labeled anomalies. Efficiently leveraging labelled anomalies as prior knowledge is crucial for graph anomaly detection; however, this process remains challenging due to the inherently limited number of anomalies available. To address the problem, we propose a novel approach that leverages metapath to embed actual connectivity patterns between anomalous and normal nodes. To further efficiently exploit context information from metapath-based anomaly subgraph, we present a new framework, Metapath-based Graph Anomaly Detection (MGAD), incorporating GCN layers in both the dual-encoders and decoders to efficiently propagate context information between abnormal and normal nodes. Specifically, MGAD employs GNN-based graph autoencoder as its backbone network. Moreover, dual encoders capture the complex interactions and metapath-based context information between labeled and unlabeled nodes both globally and locally. Through a comprehensive set of experiments conducted on seven real-world networks, this paper demonstrates the superiority of the MGAD method compared to state-of-the-art techniques. The code is available at https://github.com/missinghwan/MGAD.","url_abs":"https://arxiv.org/abs/2308.10918v2","url_pdf":"https://arxiv.org/pdf/2308.10918v2.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":"deep-semi-supervised-anomaly-detection-with","repo_url":"https://github.com/missinghwan/mgad","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":{"status":"ok"}},{"paper_slug":"deep-semi-supervised-anomaly-detection-with","repo_url":"https://github.com/missinghwan/MSAD","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok"}}],"tasks":[{"task_slug":"anomaly-detection","task_name":"Anomaly Detection"},{"task_slug":"graph-anomaly-detection","task_name":"Graph Anomaly Detection"},{"task_slug":"semi-supervised-anomaly-detection","task_name":"Semi-supervised Anomaly Detection"},{"task_slug":"supervised-anomaly-detection","task_name":"Supervised Anomaly Detection"}],"methods":[{"method_slug":"gcn","method_name":"GCN"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2308.10918","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2308.10918"}},"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/missinghwan/MSAD","reach":{"status":"ok"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/missinghwan/mgad","reach":{"status":"ok"}}],"summary":{"ran":3,"unverified":1},"by_repo_kind":{"official":{"samples":4,"ran":3,"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":4,"samples":[{"code_sha256_prefix":"bcc740ef648ed3e7","entry":"load_anomaly_detection_dataset","repo":"missinghwan/MSAD","repo_kind":"official","path":"utils.py","file_url":"https://github.com/missinghwan/MSAD/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"bcc740ef648ed3e7"}},{"code_sha256_prefix":"a79a5196d5f56d18","entry":"load_semi_supervised_dataset","repo":"missinghwan/MSAD","repo_kind":"official","path":"utils.py","file_url":"https://github.com/missinghwan/MSAD/blob/HEAD/utils.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"a79a5196d5f56d18"}},{"code_sha256_prefix":"461ba2662d434a33","entry":"loss_func","repo":"missinghwan/MSAD","repo_kind":"official","path":"random_search.py","file_url":"https://github.com/missinghwan/MSAD/blob/HEAD/random_search.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"461ba2662d434a33"}},{"code_sha256_prefix":"af6decb96f45ba25","entry":"load_semi_supervised_metapath","repo":"missinghwan/MSAD","repo_kind":"official","path":"utils.py","file_url":"https://github.com/missinghwan/MSAD/blob/HEAD/utils.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":"af6decb96f45ba25"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}