{"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/unreal-unlabeled-nodes-retrieval-and-labeling","title":"UNREAL:Unlabeled Nodes Retrieval and Labeling for Heavily-imbalanced Node Classification","arxiv_id":"2303.10371","date":"2023-03-18","proceeding":null,"authors":["Liang Yan","Shengzhong Zhang","Bisheng Li","Min Zhou","Zengfeng Huang"],"abstract":"Extremely skewed label distributions are common in real-world node classification tasks. If not dealt with appropriately, it significantly hurts the performance of GNNs in minority classes. Due to its practical importance, there have been a series of recent research devoted to this challenge. Existing over-sampling techniques smooth the label distribution by generating ``fake'' minority nodes and synthesizing their features and local topology, which largely ignore the rich information of unlabeled nodes on graphs. In this paper, we propose UNREAL, an iterative over-sampling method. The first key difference is that we only add unlabeled nodes instead of synthetic nodes, which eliminates the challenge of feature and neighborhood generation. To select which unlabeled nodes to add, we propose geometric ranking to rank unlabeled nodes. Geometric ranking exploits unsupervised learning in the node embedding space to effectively calibrates pseudo-label assignment. Finally, we identify the issue of geometric imbalance in the embedding space and provide a simple metric to filter out geometrically imbalanced nodes. Extensive experiments on real-world benchmark datasets are conducted, and the empirical results show that our method significantly outperforms current state-of-the-art methods consistent on different datasets with different imbalance ratios.","url_abs":"https://arxiv.org/abs/2303.10371v1","url_pdf":"https://arxiv.org/pdf/2303.10371v1.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":"unreal-unlabeled-nodes-retrieval-and-labeling","repo_url":"https://github.com/yanliang3612/UNREAL","is_official":1,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"node-classification","task_name":"Node Classification"},{"task_slug":"pseudo-label","task_name":"Pseudo Label"},{"task_slug":"retrieval","task_name":"Retrieval"}],"methods":[{"method_slug":null,"method_name":"Identify the Issue"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2303.10371","atlas_url":"https://app.syntology.ai/?focus=2303.10371","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2303.10371"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+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/yanliang3612/UNREAL","reach":null}],"summary":{"ran":4,"ran_draft_wrong":3,"ran_fixture":3,"unverified":5},"by_repo_kind":{"official":{"samples":15,"ran":10,"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":"21b8e2937b061ca5","entry":"Classifier","repo":"yanliang3612/UNREAL","repo_kind":"official","path":"models/Summer.py","file_url":"https://github.com/yanliang3612/UNREAL/blob/HEAD/models/Summer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"21b8e2937b061ca5"}},{"code_sha256_prefix":"a0f51d43b2936c11","entry":"GNN","repo":"yanliang3612/UNREAL","repo_kind":"official","path":"models/Summer.py","file_url":"https://github.com/yanliang3612/UNREAL/blob/HEAD/models/Summer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a0f51d43b2936c11"}},{"code_sha256_prefix":"d0e375f51c18030a","entry":"Imbalance","repo":"yanliang3612/UNREAL","repo_kind":"official","path":"models/Summer.py","file_url":"https://github.com/yanliang3612/UNREAL/blob/HEAD/models/Summer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"d0e375f51c18030a"}},{"code_sha256_prefix":"1cc5c8c084587cd8","entry":"Summer","repo":"yanliang3612/UNREAL","repo_kind":"official","path":"models/Summer.py","file_url":"https://github.com/yanliang3612/UNREAL/blob/HEAD/models/Summer.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"deterministic","behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1cc5c8c084587cd8"}},{"code_sha256_prefix":"0314bb33efbb8ff6","entry":"_resolve_device","repo":"yanliang3612/UNREAL","repo_kind":"official","path":"models/Summer.py","file_url":"https://github.com/yanliang3612/UNREAL/blob/HEAD/models/Summer.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"0314bb33efbb8ff6"}},{"code_sha256_prefix":"00ae29dfec5bcea4","entry":"_split_metrics","repo":"yanliang3612/UNREAL","repo_kind":"official","path":"models/Summer.py","file_url":"https://github.com/yanliang3612/UNREAL/blob/HEAD/models/Summer.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"00ae29dfec5bcea4"}},{"code_sha256_prefix":"00a374c740d0efb3","entry":"compute_accuracy","repo":"yanliang3612/UNREAL","repo_kind":"official","path":"models/Summer.py","file_url":"https://github.com/yanliang3612/UNREAL/blob/HEAD/models/Summer.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"00a374c740d0efb3"}},{"code_sha256_prefix":"862acaca85666e46","entry":"config_to_string","repo":"yanliang3612/UNREAL","repo_kind":"official","path":"models/Summer.py","file_url":"https://github.com/yanliang3612/UNREAL/blob/HEAD/models/Summer.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":"deterministic","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"862acaca85666e46"}},{"code_sha256_prefix":"2ebbc35773aa6632","entry":"random_seed","repo":"yanliang3612/UNREAL","repo_kind":"official","path":"models/Summer.py","file_url":"https://github.com/yanliang3612/UNREAL/blob/HEAD/models/Summer.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"DEP_MISSING","metamorphic_tier":"well_formed","behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2ebbc35773aa6632"}},{"code_sha256_prefix":"3c7f729e8b77f2e8","entry":"rbo_score","repo":"yanliang3612/UNREAL","repo_kind":"official","path":"models/Summer.py","file_url":"https://github.com/yanliang3612/UNREAL/blob/HEAD/models/Summer.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3c7f729e8b77f2e8"}},{"code_sha256_prefix":"68c3a90607b726f4","entry":"Embedder","repo":"yanliang3612/UNREAL","repo_kind":"official","path":"models/Summer.py","file_url":"https://github.com/yanliang3612/UNREAL/blob/HEAD/models/Summer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"68c3a90607b726f4"}},{"code_sha256_prefix":"fbb5df7d27b6feca","entry":"Planetoid","repo":"yanliang3612/UNREAL","repo_kind":"official","path":"models/Summer.py","file_url":"https://github.com/yanliang3612/UNREAL/blob/HEAD/models/Summer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fbb5df7d27b6feca"}},{"code_sha256_prefix":"1a38e65656984fc5","entry":"SummerTrainer","repo":"yanliang3612/UNREAL","repo_kind":"official","path":"models/Summer.py","file_url":"https://github.com/yanliang3612/UNREAL/blob/HEAD/models/Summer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1a38e65656984fc5"}},{"code_sha256_prefix":"8988d78678494da0","entry":"reset","repo":"yanliang3612/UNREAL","repo_kind":"official","path":"models/Summer.py","file_url":"https://github.com/yanliang3612/UNREAL/blob/HEAD/models/Summer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8988d78678494da0"}},{"code_sha256_prefix":"497de9f0b9677508","entry":"set_random_seeds","repo":"yanliang3612/UNREAL","repo_kind":"official","path":"models/Summer.py","file_url":"https://github.com/yanliang3612/UNREAL/blob/HEAD/models/Summer.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"497de9f0b9677508"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}