{"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/unified-explanations-in-machine-learning","title":"Unified Explanations in Machine Learning Models: A Perturbation Approach","arxiv_id":"2405.20200","date":"2024-05-30","proceeding":null,"authors":["Jacob Dineen","Don Kridel","Daniel Dolk","David Castillo"],"abstract":"A high-velocity paradigm shift towards Explainable Artificial Intelligence (XAI) has emerged in recent years. Highly complex Machine Learning (ML) models have flourished in many tasks of intelligence, and the questions have started to shift away from traditional metrics of validity towards something deeper: What is this model telling me about my data, and how is it arriving at these conclusions? Inconsistencies between XAI and modeling techniques can have the undesirable effect of casting doubt upon the efficacy of these explainability approaches. To address these problems, we propose a systematic, perturbation-based analysis against a popular, model-agnostic method in XAI, SHapley Additive exPlanations (Shap). We devise algorithms to generate relative feature importance in settings of dynamic inference amongst a suite of popular machine learning and deep learning methods, and metrics that allow us to quantify how well explanations generated under the static case hold. We propose a taxonomy for feature importance methodology, measure alignment, and observe quantifiable similarity amongst explanation models across several datasets.","url_abs":"https://arxiv.org/abs/2405.20200v1","url_pdf":"https://arxiv.org/pdf/2405.20200v1.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":"unified-explanations-in-machine-learning","repo_url":"https://github.com/jacobdineen/hiccs2021","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok"}}],"tasks":[{"task_slug":"xai","task_name":"Explainable Artificial Intelligence (XAI)"},{"task_slug":"explainable-artificial-intelligence","task_name":"Explainable artificial intelligence"},{"task_slug":"feature-importance","task_name":"Feature Importance"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2405.20200","atlas_url":"https://app.syntology.ai/?focus=2405.20200","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2405.20200"}},"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/jacobdineen/hiccs2021","reach":{"status":"ok"}}],"summary":{"ran":4,"unverified":4},"by_repo_kind":{"official":{"samples":8,"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":8,"samples":[{"code_sha256_prefix":"1ae1341389b54a35","entry":"check_existence","repo":"jacobdineen/hiccs2021","repo_kind":"official","path":"utils/Dataloader.py","file_url":"https://github.com/jacobdineen/hiccs2021/blob/HEAD/utils/Dataloader.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"1ae1341389b54a35"}},{"code_sha256_prefix":"58ad89f644adbb93","entry":"fetch_models","repo":"jacobdineen/hiccs2021","repo_kind":"official","path":"utils/helpful_util.py","file_url":"https://github.com/jacobdineen/hiccs2021/blob/HEAD/utils/helpful_util.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"58ad89f644adbb93"}},{"code_sha256_prefix":"c96394add87da682","entry":"get_cols_of_interest","repo":"jacobdineen/hiccs2021","repo_kind":"official","path":"utils/Dataloader.py","file_url":"https://github.com/jacobdineen/hiccs2021/blob/HEAD/utils/Dataloader.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"c96394add87da682"}},{"code_sha256_prefix":"e5aa840f15baec56","entry":"load_models_to_mem","repo":"jacobdineen/hiccs2021","repo_kind":"official","path":"utils/helpful_util.py","file_url":"https://github.com/jacobdineen/hiccs2021/blob/HEAD/utils/helpful_util.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"e5aa840f15baec56"}},{"code_sha256_prefix":"b74fb49637e97acf","entry":"cat_perturb_plot_helper","repo":"jacobdineen/hiccs2021","repo_kind":"official","path":"utils/perturbation.py","file_url":"https://github.com/jacobdineen/hiccs2021/blob/HEAD/utils/perturbation.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":"b74fb49637e97acf"}},{"code_sha256_prefix":"8b48ee8350497746","entry":"create_model_dirs","repo":"jacobdineen/hiccs2021","repo_kind":"official","path":"utils/model_generator.py","file_url":"https://github.com/jacobdineen/hiccs2021/blob/HEAD/utils/model_generator.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":"8b48ee8350497746"}},{"code_sha256_prefix":"fb9514927cc7b344","entry":"load_locally","repo":"jacobdineen/hiccs2021","repo_kind":"official","path":"utils/helpful_util.py","file_url":"https://github.com/jacobdineen/hiccs2021/blob/HEAD/utils/helpful_util.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":"fb9514927cc7b344"}},{"code_sha256_prefix":"f86d196b0be2fb40","entry":"save_abs_shap_values_sample","repo":"jacobdineen/hiccs2021","repo_kind":"official","path":"utils/ShapExp.py","file_url":"https://github.com/jacobdineen/hiccs2021/blob/HEAD/utils/ShapExp.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":"f86d196b0be2fb40"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}