{"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/rulematrix-visualizing-and-understanding","title":"RuleMatrix: Visualizing and Understanding Classifiers with Rules","arxiv_id":"1807.06228","date":"2018-07-17","proceeding":null,"authors":["Yao Ming","Huamin Qu","Enrico Bertini"],"abstract":"With the growing adoption of machine learning techniques, there is a surge of\nresearch interest towards making machine learning systems more transparent and\ninterpretable. Various visualizations have been developed to help model\ndevelopers understand, diagnose, and refine machine learning models. However, a\nlarge number of potential but neglected users are the domain experts with\nlittle knowledge of machine learning but are expected to work with machine\nlearning systems. In this paper, we present an interactive visualization\ntechnique to help users with little expertise in machine learning to\nunderstand, explore and validate predictive models. By viewing the model as a\nblack box, we extract a standardized rule-based knowledge representation from\nits input-output behavior. We design RuleMatrix, a matrix-based visualization\nof rules to help users navigate and verify the rules and the black-box model.\nWe evaluate the effectiveness of RuleMatrix via two use cases and a usability\nstudy.","url_abs":"http://arxiv.org/abs/1807.06228v1","url_pdf":"http://arxiv.org/pdf/1807.06228v1.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":"rulematrix-visualizing-and-understanding","repo_url":"https://github.com/rulematrix/rule-matrix-py","is_official":0,"mentioned_in_paper":0,"mentioned_in_github":1,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"machine-learning","task_name":"BIG-bench Machine Learning"},{"task_slug":"navigate","task_name":"Navigate"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=1807.06228","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"1807.06228"}},"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/rulematrix/rule-matrix-py","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":17},"by_repo_kind":{"listed":{"samples":17,"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":0,"samples":[{"code_sha256_prefix":"1eeee0ccaf141825","entry":"accuracy","repo":"rulematrix/rule-matrix-py","repo_kind":"listed","path":"rulematrix/metrics.py","file_url":"https://github.com/rulematrix/rule-matrix-py/blob/HEAD/rulematrix/metrics.py","link_basis":"harvester_set","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":"1eeee0ccaf141825"}},{"code_sha256_prefix":"d3542621aac4348e","entry":"auc_score","repo":"rulematrix/rule-matrix-py","repo_kind":"listed","path":"rulematrix/metrics.py","file_url":"https://github.com/rulematrix/rule-matrix-py/blob/HEAD/rulematrix/metrics.py","link_basis":"harvester_set","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":"d3542621aac4348e"}},{"code_sha256_prefix":"02e591dd6b1e1576","entry":"check_input_constraints","repo":"rulematrix/rule-matrix-py","repo_kind":"listed","path":"rulematrix/surrogate/sample.py","file_url":"https://github.com/rulematrix/rule-matrix-py/blob/HEAD/rulematrix/surrogate/sample.py","link_basis":"harvester_set","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":"02e591dd6b1e1576"}},{"code_sha256_prefix":"c79736ac5b0a2bd0","entry":"compute_mdlp_all_intervals","repo":"rulematrix/rule-matrix-py","repo_kind":"listed","path":"rulematrix/surrogate/discretize.py","file_url":"https://github.com/rulematrix/rule-matrix-py/blob/HEAD/rulematrix/surrogate/discretize.py","link_basis":"harvester_set","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":"c79736ac5b0a2bd0"}},{"code_sha256_prefix":"242f789db4a0fa0a","entry":"compute_support_matrix","repo":"rulematrix/rule-matrix-py","repo_kind":"listed","path":"rulematrix/visualization/data_model.py","file_url":"https://github.com/rulematrix/rule-matrix-py/blob/HEAD/rulematrix/visualization/data_model.py","link_basis":"harvester_set","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":"242f789db4a0fa0a"}},{"code_sha256_prefix":"bbcc1d105e0a0c8d","entry":"create_constraint","repo":"rulematrix/rule-matrix-py","repo_kind":"listed","path":"rulematrix/surrogate/sample.py","file_url":"https://github.com/rulematrix/rule-matrix-py/blob/HEAD/rulematrix/surrogate/sample.py","link_basis":"harvester_set","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":"bbcc1d105e0a0c8d"}},{"code_sha256_prefix":"c103faf7972f2e5c","entry":"create_constraints","repo":"rulematrix/rule-matrix-py","repo_kind":"listed","path":"rulematrix/surrogate/sample.py","file_url":"https://github.com/rulematrix/rule-matrix-py/blob/HEAD/rulematrix/surrogate/sample.py","link_basis":"harvester_set","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":"c103faf7972f2e5c"}},{"code_sha256_prefix":"677a4296cd9b867b","entry":"discretizer2json","repo":"rulematrix/rule-matrix-py","repo_kind":"listed","path":"rulematrix/utils.py","file_url":"https://github.com/rulematrix/rule-matrix-py/blob/HEAD/rulematrix/utils.py","link_basis":"harvester_set","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":"677a4296cd9b867b"}},{"code_sha256_prefix":"b9ed416dd712f887","entry":"dumps","repo":"rulematrix/rule-matrix-py","repo_kind":"listed","path":"rulematrix/utils.py","file_url":"https://github.com/rulematrix/rule-matrix-py/blob/HEAD/rulematrix/utils.py","link_basis":"harvester_set","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":"b9ed416dd712f887"}},{"code_sha256_prefix":"a8c4c235c66db7be","entry":"filter_data","repo":"rulematrix/rule-matrix-py","repo_kind":"listed","path":"rulematrix/utils.py","file_url":"https://github.com/rulematrix/rule-matrix-py/blob/HEAD/rulematrix/utils.py","link_basis":"harvester_set","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":"a8c4c235c66db7be"}},{"code_sha256_prefix":"010eba1abe819f5a","entry":"get_discretizer","repo":"rulematrix/rule-matrix-py","repo_kind":"listed","path":"rulematrix/surrogate/discretize.py","file_url":"https://github.com/rulematrix/rule-matrix-py/blob/HEAD/rulematrix/surrogate/discretize.py","link_basis":"harvester_set","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":"010eba1abe819f5a"}},{"code_sha256_prefix":"c01c1c0f3dfdaf67","entry":"label2binary","repo":"rulematrix/rule-matrix-py","repo_kind":"listed","path":"rulematrix/metrics.py","file_url":"https://github.com/rulematrix/rule-matrix-py/blob/HEAD/rulematrix/metrics.py","link_basis":"harvester_set","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":"c01c1c0f3dfdaf67"}},{"code_sha256_prefix":"4b9339c331a65eff","entry":"obj2pkl","repo":"rulematrix/rule-matrix-py","repo_kind":"listed","path":"rulematrix/server/utils.py","file_url":"https://github.com/rulematrix/rule-matrix-py/blob/HEAD/rulematrix/server/utils.py","link_basis":"harvester_set","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":"4b9339c331a65eff"}},{"code_sha256_prefix":"a0dd49cfc5f36cb2","entry":"pkl2obj","repo":"rulematrix/rule-matrix-py","repo_kind":"listed","path":"rulematrix/server/utils.py","file_url":"https://github.com/rulematrix/rule-matrix-py/blob/HEAD/rulematrix/server/utils.py","link_basis":"harvester_set","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":"a0dd49cfc5f36cb2"}},{"code_sha256_prefix":"4671b211694e13a6","entry":"prepare_rule_list_json","repo":"rulematrix/rule-matrix-py","repo_kind":"listed","path":"rulematrix/visualization/data_model.py","file_url":"https://github.com/rulematrix/rule-matrix-py/blob/HEAD/rulematrix/visualization/data_model.py","link_basis":"harvester_set","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":"4671b211694e13a6"}},{"code_sha256_prefix":"db1fedad319eeca0","entry":"prepare_streams","repo":"rulematrix/rule-matrix-py","repo_kind":"listed","path":"rulematrix/visualization/data_model.py","file_url":"https://github.com/rulematrix/rule-matrix-py/blob/HEAD/rulematrix/visualization/data_model.py","link_basis":"harvester_set","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":"db1fedad319eeca0"}},{"code_sha256_prefix":"32847a5f07b51596","entry":"surrogate","repo":"rulematrix/rule-matrix-py","repo_kind":"listed","path":"rulematrix/surrogate/surrogate.py","file_url":"https://github.com/rulematrix/rule-matrix-py/blob/HEAD/rulematrix/surrogate/surrogate.py","link_basis":"harvester_set","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":"32847a5f07b51596"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}