{"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/learning-outside-the-black-box-the-pursuit-of-1","title":"Learning outside the Black-Box: The pursuit of interpretable models","arxiv_id":"2011.08596","date":"2020-11-17","proceeding":"NeurIPS 2020 12","authors":["Jonathan Crabbé","Yao Zhang","William Zame","Mihaela van der Schaar"],"abstract":"Machine Learning has proved its ability to produce accurate models but the deployment of these models outside the machine learning community has been hindered by the difficulties of interpreting these models. This paper proposes an algorithm that produces a continuous global interpretation of any given continuous black-box function. Our algorithm employs a variation of projection pursuit in which the ridge functions are chosen to be Meijer G-functions, rather than the usual polynomial splines. Because Meijer G-functions are differentiable in their parameters, we can tune the parameters of the representation by gradient descent; as a consequence, our algorithm is efficient. Using five familiar data sets from the UCI repository and two familiar machine learning algorithms, we demonstrate that our algorithm produces global interpretations that are both highly accurate and parsimonious (involve a small number of terms). Our interpretations permit easy understanding of the relative importance of features and feature interactions. Our interpretation algorithm represents a leap forward from the previous state of the art.","url_abs":"https://arxiv.org/abs/2011.08596v1","url_pdf":"https://arxiv.org/pdf/2011.08596v1.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":"learning-outside-the-black-box-the-pursuit-of-1","repo_url":"https://github.com/JonathanCrabbe/Symbolic-Pursuit","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":null}],"tasks":[{"task_slug":"machine-learning","task_name":"BIG-bench Machine Learning"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2011.08596","atlas_url":"https://app.syntology.ai/?focus=2011.08596","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2011.08596"}},"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/JonathanCrabbe/Symbolic-Pursuit","reach":null}],"summary":{"ran_violates":1,"unverified":5},"by_repo_kind":{"official":{"samples":6,"ran":1,"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":6,"samples":[{"code_sha256_prefix":"481b8b7d15f22ec0","entry":"basis_grad","repo":"JonathanCrabbe/Symbolic-Pursuit","repo_kind":"official","path":"pysymbolic/algorithms/symbolic_metamodeling.py","file_url":"https://github.com/JonathanCrabbe/Symbolic-Pursuit/blob/HEAD/pysymbolic/algorithms/symbolic_metamodeling.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"NONE","inline_ok":false,"mcp_get_code":{"code_sha256":"481b8b7d15f22ec0"}},{"code_sha256_prefix":"9cf9749913a3a09a","entry":"basis","repo":"JonathanCrabbe/Symbolic-Pursuit","repo_kind":"official","path":"pysymbolic/algorithms/symbolic_metamodeling.py","file_url":"https://github.com/JonathanCrabbe/Symbolic-Pursuit/blob/HEAD/pysymbolic/algorithms/symbolic_metamodeling.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":"9cf9749913a3a09a"}},{"code_sha256_prefix":"71ac93eee6f18d1b","entry":"basis_expression","repo":"JonathanCrabbe/Symbolic-Pursuit","repo_kind":"official","path":"pysymbolic/algorithms/symbolic_metamodeling.py","file_url":"https://github.com/JonathanCrabbe/Symbolic-Pursuit/blob/HEAD/pysymbolic/algorithms/symbolic_metamodeling.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":"71ac93eee6f18d1b"}},{"code_sha256_prefix":"7ef7957f7f28f364","entry":"compose_features","repo":"JonathanCrabbe/Symbolic-Pursuit","repo_kind":"official","path":"pysymbolic/algorithms/symbolic_metamodeling.py","file_url":"https://github.com/JonathanCrabbe/Symbolic-Pursuit/blob/HEAD/pysymbolic/algorithms/symbolic_metamodeling.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":"7ef7957f7f28f364"}},{"code_sha256_prefix":"b5a1e49a9f2f2729","entry":"symbolic_metamodel","repo":"JonathanCrabbe/Symbolic-Pursuit","repo_kind":"official","path":"pysymbolic/algorithms/symbolic_metamodeling.py","file_url":"https://github.com/JonathanCrabbe/Symbolic-Pursuit/blob/HEAD/pysymbolic/algorithms/symbolic_metamodeling.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":"b5a1e49a9f2f2729"}},{"code_sha256_prefix":"c302b9799dae4878","entry":"tune_single_dim","repo":"JonathanCrabbe/Symbolic-Pursuit","repo_kind":"official","path":"pysymbolic/algorithms/symbolic_metamodeling.py","file_url":"https://github.com/JonathanCrabbe/Symbolic-Pursuit/blob/HEAD/pysymbolic/algorithms/symbolic_metamodeling.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":"c302b9799dae4878"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}