{"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/arxiv-2605-22740","title":"Ternary Decision Trees with Locally-Adaptive Uncertainty Zones","arxiv_id":"2605.22740","date":"2026-05-21","proceeding":null,"authors":["William Smits"],"abstract":"Decision trees assign identical confidence to instances near and far from each split threshold. We introduce ternary decision trees, which augment each split node with an uncertainty zone of half-width delta. A decision-theoretic framework characterises the optimal zone width delta* as the solution to a node-local cost-minimisation problem; four formal properties are established: accuracy decomposition, a sufficiency condition for decided accuracy improvement, an exact efficiency characterisation (eta = Dec-Acc minus Acc_u, the accuracy gap between decided and boundary-uncertain predictions), and asymptotic consistency of the margin method. Instances within the zone receive predictions by weighted blending of both child subtrees and are flagged as boundary-uncertain. We propose and evaluate five delta-estimation methods: quality-plateau (plateau width of the split criterion curve), class-overlap (empirical class-distribution overlap), gain-ratio (split quality relative to split entropy), node-bootstrap (threshold variance under node-level resampling), and margin (SVM-inspired distance to the nearest cross-class training example). All methods reuse statistics already computed during standard CART split finding, requiring no external noise specification. Evaluated across 71 of the 72 OpenML-CC18 datasets with 5-fold cross-validation, all five methods with probabilistic routing significantly outperform standard CART on decided accuracy (Wilcoxon signed-rank, p < 0.001). The margin method achieves the best efficiency (0.104 accuracy gain per unit flagging rate), wins on 42 of 72 datasets, and requires zero hyperparameters. Analysis on Breiman synthetic benchmarks confirms margin is self-calibrating on clean data. On mammography, node-bootstrap achieves +0.71% decided accuracy by flagging 10.8% of cases as boundary-uncertain.","url_abs":"https://arxiv.org/abs/2605.22740","url_pdf":"https://arxiv.org/pdf/2605.22740","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":null,"mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2605.22740"}},"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":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/smitswil/ternary_tree","reach":null}],"summary":{"ran":2,"ran_draft_wrong":2,"ran_honours":5,"ran_violates":2,"ran_fixture":5,"unverified":6},"by_repo_kind":{"found_in_text":{"samples":22,"ran":16,"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":"d9b4d46de383d453","entry":"LeafNode","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.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":"d9b4d46de383d453"}},{"code_sha256_prefix":"5c414ae59e47f2bf","entry":"SplitNode","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.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":"5c414ae59e47f2bf"}},{"code_sha256_prefix":"94900c8e21a28995","entry":"_clamp_delta","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"94900c8e21a28995"}},{"code_sha256_prefix":"00d98be6246b9c93","entry":"_entropy","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"00d98be6246b9c93"}},{"code_sha256_prefix":"8e3965d6334072f6","entry":"_gini","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8e3965d6334072f6"}},{"code_sha256_prefix":"1ae014b8576fc2da","entry":"_split_entropy","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1ae014b8576fc2da"}},{"code_sha256_prefix":"28facaf62bfcafb0","entry":"compute_class_probabilities","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"28facaf62bfcafb0"}},{"code_sha256_prefix":"4699fc60a8f27940","entry":"compute_sample_weight","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4699fc60a8f27940"}},{"code_sha256_prefix":"aea0400d00ca24f9","entry":"delta_class_overlap","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"aea0400d00ca24f9"}},{"code_sha256_prefix":"03f68c8aa56c9418","entry":"delta_gain_ratio","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"03f68c8aa56c9418"}},{"code_sha256_prefix":"cfad436faae5d3c7","entry":"delta_margin","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cfad436faae5d3c7"}},{"code_sha256_prefix":"8c2355482782d237","entry":"delta_node_bootstrap","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.py","link_basis":"first_harvest_node","language":"python","status":"ran_honours","verification_level":1,"contract_check":"HONOURS","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"8c2355482782d237"}},{"code_sha256_prefix":"cb4158509bf166ae","entry":"delta_quality_plateau","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"cb4158509bf166ae"}},{"code_sha256_prefix":"2035c0c6f205f2a4","entry":"evaluate_all_thresholds","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.py","link_basis":"first_harvest_node","language":"python","status":"ran_draft_wrong","verification_level":1,"contract_check":"MISDECLARED","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2035c0c6f205f2a4"}},{"code_sha256_prefix":"efda451b6639d43b","entry":"find_best_split","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.py","link_basis":"first_harvest_node","language":"python","status":"ran_fixture","verification_level":1,"contract_check":"RAISES","metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"efda451b6639d43b"}},{"code_sha256_prefix":"582145c98723d35a","entry":"is_pure","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.py","link_basis":"first_harvest_node","language":"python","status":"ran_violates","verification_level":1,"contract_check":"VIOLATES","metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"582145c98723d35a"}},{"code_sha256_prefix":"d63c080a421e4b93","entry":"TrinaryTree","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.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":"d63c080a421e4b93"}},{"code_sha256_prefix":"aacb6d6651dccc13","entry":"_accumulate_importances","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.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":"aacb6d6651dccc13"}},{"code_sha256_prefix":"91647e60960530a6","entry":"_count_leaves","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.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":"91647e60960530a6"}},{"code_sha256_prefix":"30f7e53291937ba7","entry":"_count_middle_leaves","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.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":"30f7e53291937ba7"}},{"code_sha256_prefix":"dc1828717973b12a","entry":"_tree_depth","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.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":"dc1828717973b12a"}},{"code_sha256_prefix":"5b85dcc53fc482fb","entry":"compute_delta","repo":"smitswil/ternary_tree","repo_kind":"found_in_text","path":"ternary_tree/trinary_tree.py","file_url":"https://github.com/smitswil/ternary_tree/blob/HEAD/ternary_tree/trinary_tree.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":"5b85dcc53fc482fb"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.LG","source":"arxiv_2026.jsonl"},"syntology_extracted_results":null}