{"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/subtab-subsetting-features-of-tabular-data","title":"SubTab: Subsetting Features of Tabular Data for Self-Supervised Representation Learning","arxiv_id":"2110.04361","date":"2021-10-08","proceeding":"NeurIPS 2021 12","authors":["Talip Ucar","Ehsan Hajiramezanali","Lindsay Edwards"],"abstract":"Self-supervised learning has been shown to be very effective in learning useful representations, and yet much of the success is achieved in data types such as images, audio, and text. The success is mainly enabled by taking advantage of spatial, temporal, or semantic structure in the data through augmentation. However, such structure may not exist in tabular datasets commonly used in fields such as healthcare, making it difficult to design an effective augmentation method, and hindering a similar progress in tabular data setting. In this paper, we introduce a new framework, Subsetting features of Tabular data (SubTab), that turns the task of learning from tabular data into a multi-view representation learning problem by dividing the input features to multiple subsets. We argue that reconstructing the data from the subset of its features rather than its corrupted version in an autoencoder setting can better capture its underlying latent representation. In this framework, the joint representation can be expressed as the aggregate of latent variables of the subsets at test time, which we refer to as collaborative inference. Our experiments show that the SubTab achieves the state of the art (SOTA) performance of 98.31% on MNIST in tabular setting, on par with CNN-based SOTA models, and surpasses existing baselines on three other real-world datasets by a significant margin.","url_abs":"https://arxiv.org/abs/2110.04361v2","url_pdf":"https://arxiv.org/pdf/2110.04361v2.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":"subtab-subsetting-features-of-tabular-data","repo_url":"https://github.com/astrazeneca/subtab","is_official":0,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"Apache-2.0"}},{"paper_slug":"subtab-subsetting-features-of-tabular-data","repo_url":"https://github.com/Alcoholrithm/TabularS3L","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"collaborative-inference","task_name":"Collaborative Inference"},{"task_slug":"contrastive-learning","task_name":"Contrastive Learning"},{"task_slug":"representation-learning","task_name":"Representation Learning"},{"task_slug":"self-supervised-learning","task_name":"Self-Supervised Learning"}],"methods":[{"method_slug":"test","method_name":"Test"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2110.04361","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2110.04361"}},"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/AstraZeneca/SubTab","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/astrazeneca/subtab","reach":{"status":"ok","spdx":"Apache-2.0"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/Alcoholrithm/TabularS3L","reach":null}],"summary":{"ran":5,"ran_draft_wrong":3,"unverified":6},"by_repo_kind":{"named_in_paper":{"samples":14,"ran":8,"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":"5b90987c92924f76","entry":"AEWrapper","repo":"astrazeneca/subtab","repo_kind":"named_in_paper","path":"src/model.py","file_url":"https://github.com/astrazeneca/subtab/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"5b90987c92924f76"}},{"code_sha256_prefix":"4290c69ab232cb69","entry":"Decoder","repo":"astrazeneca/subtab","repo_kind":"named_in_paper","path":"src/model.py","file_url":"https://github.com/astrazeneca/subtab/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"4290c69ab232cb69"}},{"code_sha256_prefix":"f9c1d00bc03fe90b","entry":"HiddenLayers","repo":"astrazeneca/subtab","repo_kind":"named_in_paper","path":"src/model.py","file_url":"https://github.com/astrazeneca/subtab/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f9c1d00bc03fe90b"}},{"code_sha256_prefix":"cab34653b11a7a35","entry":"JointLoss","repo":"astrazeneca/subtab","repo_kind":"named_in_paper","path":"src/model.py","file_url":"https://github.com/astrazeneca/subtab/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"cab34653b11a7a35"}},{"code_sha256_prefix":"554c1d99a88fdd09","entry":"ShallowDecoder","repo":"astrazeneca/subtab","repo_kind":"named_in_paper","path":"src/model.py","file_url":"https://github.com/astrazeneca/subtab/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":"invariant","behaviour_fingerprint":true,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"554c1d99a88fdd09"}},{"code_sha256_prefix":"2bdeb39039c93a3d","entry":"getBCELoss","repo":"astrazeneca/subtab","repo_kind":"named_in_paper","path":"src/model.py","file_url":"https://github.com/astrazeneca/subtab/blob/HEAD/src/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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"2bdeb39039c93a3d"}},{"code_sha256_prefix":"09fed834262af135","entry":"getMSEloss","repo":"astrazeneca/subtab","repo_kind":"named_in_paper","path":"src/model.py","file_url":"https://github.com/astrazeneca/subtab/blob/HEAD/src/model.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":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"09fed834262af135"}},{"code_sha256_prefix":"3db6e3509f24bd86","entry":"make_dir","repo":"astrazeneca/subtab","repo_kind":"named_in_paper","path":"src/model.py","file_url":"https://github.com/astrazeneca/subtab/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"OUTPUT_MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3db6e3509f24bd86"}},{"code_sha256_prefix":"3f96c139857b7bea","entry":"Encoder","repo":"astrazeneca/subtab","repo_kind":"named_in_paper","path":"src/model.py","file_url":"https://github.com/astrazeneca/subtab/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"3f96c139857b7bea"}},{"code_sha256_prefix":"87817fa6ec5de3d7","entry":"ShallowEncoder","repo":"astrazeneca/subtab","repo_kind":"named_in_paper","path":"src/model.py","file_url":"https://github.com/astrazeneca/subtab/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"87817fa6ec5de3d7"}},{"code_sha256_prefix":"b031dcb2b35f1532","entry":"SubTab","repo":"astrazeneca/subtab","repo_kind":"named_in_paper","path":"src/model.py","file_url":"https://github.com/astrazeneca/subtab/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b031dcb2b35f1532"}},{"code_sha256_prefix":"b0d4c04ba0dd70cd","entry":"save_loss_plot","repo":"astrazeneca/subtab","repo_kind":"named_in_paper","path":"src/model.py","file_url":"https://github.com/astrazeneca/subtab/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"b0d4c04ba0dd70cd"}},{"code_sha256_prefix":"7c738f83b5ac31e8","entry":"set_dirs","repo":"astrazeneca/subtab","repo_kind":"named_in_paper","path":"src/model.py","file_url":"https://github.com/astrazeneca/subtab/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"7c738f83b5ac31e8"}},{"code_sha256_prefix":"f2b720e37ee0c903","entry":"set_seed","repo":"astrazeneca/subtab","repo_kind":"named_in_paper","path":"src/model.py","file_url":"https://github.com/astrazeneca/subtab/blob/HEAD/src/model.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"Apache-2.0","inline_ok":true,"mcp_get_code":{"code_sha256":"f2b720e37ee0c903"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}