{"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-open-world-feature-extrapolation-an","title":"Towards Open-World Feature Extrapolation: An Inductive Graph Learning Approach","arxiv_id":"2110.04514","date":"2021-10-09","proceeding":"NeurIPS 2021 12","authors":["Qitian Wu","Chenxiao Yang","Junchi Yan"],"abstract":"We target open-world feature extrapolation problem where the feature space of input data goes through expansion and a model trained on partially observed features needs to handle new features in test data without further retraining. The problem is of much significance for dealing with features incrementally collected from different fields. To this end, we propose a new learning paradigm with graph representation and learning. Our framework contains two modules: 1) a backbone network (e.g., feedforward neural nets) as a lower model takes features as input and outputs predicted labels; 2) a graph neural network as an upper model learns to extrapolate embeddings for new features via message passing over a feature-data graph built from observed data. Based on our framework, we design two training strategies, a self-supervised approach and an inductive learning approach, to endow the model with extrapolation ability and alleviate feature-level over-fitting. We also provide theoretical analysis on the generalization error on test data with new features, which dissects the impact of training features and algorithms on generalization performance. Our experiments over several classification datasets and large-scale advertisement click prediction datasets demonstrate that our model can produce effective embeddings for unseen features and significantly outperforms baseline methods that adopt KNN and local aggregation.","url_abs":"https://arxiv.org/abs/2110.04514v2","url_pdf":"https://arxiv.org/pdf/2110.04514v2.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-open-world-feature-extrapolation-an","repo_url":"https://github.com/qitianwu/FATE","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"graph-learning","task_name":"Graph Learning"},{"task_slug":"graph-neural-network","task_name":"Graph Neural Network"},{"task_slug":"inductive-learning","task_name":"Inductive Learning"}],"methods":[{"method_slug":"graph-neural-network","method_name":"Graph Neural Network"},{"method_slug":"test","method_name":"Test"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2110.04514","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2110.04514"}},"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":"deterministic:regex_extraction","url":"https://github.com/qitianwu/FATE","reach":null}],"summary":{"ran":2,"ran_fixture":1,"ran_draft_wrong":1,"unverified":1},"by_repo_kind":{"official":{"samples":5,"ran":4,"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":5,"samples":[{"code_sha256_prefix":"ad240ffd5b1a2efe","entry":"Backbone","repo":"qitianwu/FATE","repo_kind":"official","path":"ctr/FATE-NN/model.py","file_url":"https://github.com/qitianwu/FATE/blob/HEAD/ctr/FATE-NN/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"ad240ffd5b1a2efe"}},{"code_sha256_prefix":"edf9071b6c471255","entry":"GraphModel","repo":"qitianwu/FATE","repo_kind":"official","path":"ctr/FATE-NN/model.py","file_url":"https://github.com/qitianwu/FATE/blob/HEAD/ctr/FATE-NN/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"edf9071b6c471255"}},{"code_sha256_prefix":"c0edfa33b78d7232","entry":"create_edge","repo":"qitianwu/FATE","repo_kind":"official","path":"ctr/FATE-NN/model.py","file_url":"https://github.com/qitianwu/FATE/blob/HEAD/ctr/FATE-NN/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c0edfa33b78d7232"}},{"code_sha256_prefix":"d1028e8865f69b5d","entry":"drop_edge","repo":"qitianwu/FATE","repo_kind":"official","path":"ctr/FATE-NN/model.py","file_url":"https://github.com/qitianwu/FATE/blob/HEAD/ctr/FATE-NN/model.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":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"d1028e8865f69b5d"}},{"code_sha256_prefix":"9567fbd7e591a76c","entry":"Model","repo":"qitianwu/FATE","repo_kind":"official","path":"ctr/FATE-NN/model.py","file_url":"https://github.com/qitianwu/FATE/blob/HEAD/ctr/FATE-NN/model.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":"9567fbd7e591a76c"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}