{"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-graph-neural-networks-for-2","title":"Interpretable Graph Neural Networks for Heterogeneous Tabular Data","arxiv_id":"2408.07661","date":"2024-08-14","proceeding":null,"authors":["Amr AlKhatib","Henrik Boström"],"abstract":"Many machine learning algorithms for tabular data produce black-box models, which prevent users from understanding the rationale behind the model predictions. In their unconstrained form, graph neural networks fall into this category, and they have further limited abilities to handle heterogeneous data. To overcome these limitations, an approach is proposed, called IGNH (Interpretable Graph Neural Network for Heterogeneous tabular data), which handles both categorical and numerical features, while constraining the learning process to generate exact feature attributions together with the predictions. A large-scale empirical investigation is presented, showing that the feature attributions provided by IGNH align with Shapley values that are computed post hoc. Furthermore, the results show that IGNH outperforms two powerful machine learning algorithms for tabular data, Random Forests and TabNet, while reaching a similar level of performance as XGBoost.","url_abs":"https://arxiv.org/abs/2408.07661v1","url_pdf":"https://arxiv.org/pdf/2408.07661v1.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-graph-neural-networks-for-2","repo_url":"https://github.com/amrmalkhatib/ignh","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}},{"paper_slug":"interpretable-graph-neural-networks-for-2","repo_url":"https://github.com/amrmalkhatib/ignnet","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"pytorch","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"graph-neural-network","task_name":"Graph Neural Network"}],"methods":[{"method_slug":"align","method_name":"ALIGN"},{"method_slug":"batch-normalization","method_name":"Batch Normalization"},{"method_slug":"dense-connections","method_name":"Dense Connections"},{"method_slug":"glu","method_name":"Gated Linear Unit"},{"method_slug":"graph-neural-network","method_name":"Graph Neural Network"},{"method_slug":"residual-connection","method_name":"Residual Connection"},{"method_slug":"tabnet","method_name":"TabNet"}],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":null,"atlas_url":"https://app.syntology.ai/?focus=2408.07661","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2408.07661"}},"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/amrmalkhatib/ignh","reach":{"status":"ok","spdx":"MIT"}},{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/amrmalkhatib/ignnet","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"ran":4,"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":0,"samples":[{"code_sha256_prefix":"7299b84dc333e58c","entry":"compute_adjacency_matrix","repo":"amrmalkhatib/ignh","repo_kind":"official","path":"data_preprocess.py","file_url":"https://github.com/amrmalkhatib/ignh/blob/HEAD/data_preprocess.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":"7299b84dc333e58c"}},{"code_sha256_prefix":"f298fad9be3fdffe","entry":"min_max_normalize","repo":"amrmalkhatib/ignh","repo_kind":"official","path":"data_preprocess.py","file_url":"https://github.com/amrmalkhatib/ignh/blob/HEAD/data_preprocess.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f298fad9be3fdffe"}},{"code_sha256_prefix":"ab9d69a8244cea39","entry":"normalize_adj_matrix","repo":"amrmalkhatib/ignh","repo_kind":"official","path":"ignh.py","file_url":"https://github.com/amrmalkhatib/ignh/blob/HEAD/ignh.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ab9d69a8244cea39"}},{"code_sha256_prefix":"2aaa054b4c968f08","entry":"transform_to_tensors","repo":"amrmalkhatib/ignh","repo_kind":"official","path":"data_preprocess.py","file_url":"https://github.com/amrmalkhatib/ignh/blob/HEAD/data_preprocess.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":"2aaa054b4c968f08"}},{"code_sha256_prefix":"d8fa0aeb222c5c4e","entry":"train_model","repo":"amrmalkhatib/ignh","repo_kind":"official","path":"ignh.py","file_url":"https://github.com/amrmalkhatib/ignh/blob/HEAD/ignh.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":"d8fa0aeb222c5c4e"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}