{"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/interpretable-generalized-additive-models-for","title":"Interpretable Generalized Additive Models for Datasets with Missing Values","arxiv_id":"2412.02646","date":"2024-12-03","proceeding":null,"authors":["Hayden McTavish","Jon Donnelly","Margo Seltzer","Cynthia Rudin"],"abstract":"Many important datasets contain samples that are missing one or more feature values. Maintaining the interpretability of machine learning models in the presence of such missing data is challenging. Singly or multiply imputing missing values complicates the model's mapping from features to labels. On the other hand, reasoning on indicator variables that represent missingness introduces a potentially large number of additional terms, sacrificing sparsity. We solve these problems with M-GAM, a sparse, generalized, additive modeling approach that incorporates missingness indicators and their interaction terms while maintaining sparsity through l0 regularization. We show that M-GAM provides similar or superior accuracy to prior methods while significantly improving sparsity relative to either imputation or naive inclusion of indicator variables.","url_abs":"https://arxiv.org/abs/2412.02646v2","url_pdf":"https://arxiv.org/pdf/2412.02646v2.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":"interpretable-generalized-additive-models-for","repo_url":"https://github.com/jdonnelly36/m-gam","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"NOASSERTION"}}],"tasks":[{"task_slug":"additive-models","task_name":"Additive models"},{"task_slug":"imputation","task_name":"Imputation"},{"task_slug":"missing-values","task_name":"Missing Values"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2412.02646","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2412.02646"}},"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/jdonnelly36/M-GAM","reach":{"status":"ok","spdx":"NOASSERTION"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/jdonnelly36/m-gam","reach":{"status":"ok","spdx":"NOASSERTION"}}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"ran":0,"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":3,"samples":[{"code_sha256_prefix":"82cf2264655d1ef6","entry":"check_interesting_missingness","repo":"jdonnelly36/M-GAM","repo_kind":"official","path":"visualization_utils.py","file_url":"https://github.com/jdonnelly36/M-GAM/blob/HEAD/visualization_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"82cf2264655d1ef6"}},{"code_sha256_prefix":"7f6fa66454694a73","entry":"get_curve","repo":"jdonnelly36/M-GAM","repo_kind":"official","path":"visualization_utils.py","file_url":"https://github.com/jdonnelly36/M-GAM/blob/HEAD/visualization_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"7f6fa66454694a73"}},{"code_sha256_prefix":"70a2f7a8dd235c5f","entry":"powerset","repo":"jdonnelly36/M-GAM","repo_kind":"official","path":"visualization_utils.py","file_url":"https://github.com/jdonnelly36/M-GAM/blob/HEAD/visualization_utils.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NOASSERTION","inline_ok":false,"mcp_get_code":{"code_sha256":"70a2f7a8dd235c5f"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}