{"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/online-learning-of-decision-trees-with","title":"Online Learning of Decision Trees with Thompson Sampling","arxiv_id":"2404.06403","date":"2024-04-09","proceeding":null,"authors":["Ayman Chaouki","Jesse Read","Albert Bifet"],"abstract":"Decision Trees are prominent prediction models for interpretable Machine Learning. They have been thoroughly researched, mostly in the batch setting with a fixed labelled dataset, leading to popular algorithms such as C4.5, ID3 and CART. Unfortunately, these methods are of heuristic nature, they rely on greedy splits offering no guarantees of global optimality and often leading to unnecessarily complex and hard-to-interpret Decision Trees. Recent breakthroughs addressed this suboptimality issue in the batch setting, but no such work has considered the online setting with data arriving in a stream. To this end, we devise a new Monte Carlo Tree Search algorithm, Thompson Sampling Decision Trees (TSDT), able to produce optimal Decision Trees in an online setting. We analyse our algorithm and prove its almost sure convergence to the optimal tree. Furthermore, we conduct extensive experiments to validate our findings empirically. The proposed TSDT outperforms existing algorithms on several benchmarks, all while presenting the practical advantage of being tailored to the online setting.","url_abs":"https://arxiv.org/abs/2404.06403v1","url_pdf":"https://arxiv.org/pdf/2404.06403v1.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":"online-learning-of-decision-trees-with","repo_url":"https://github.com/chaoukia/thompson-sampling-decision-trees","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"none","reach":{"status":"ok","spdx":"MIT"}}],"tasks":[{"task_slug":"interpretable-machine-learning","task_name":"Interpretable Machine Learning"},{"task_slug":"thompson-sampling","task_name":"Thompson Sampling"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"atlas_url":"https://app.syntology.ai/?focus=2404.06403","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2404.06403"}},"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/chaoukia/thompson-sampling-decision-trees","reach":{"status":"ok","spdx":"MIT"}}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"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":"80d08f08564b6878","entry":"approximate_beta","repo":"chaoukia/thompson-sampling-decision-trees","repo_kind":"official","path":"Fast-TSDT/searchtree.py","file_url":"https://github.com/chaoukia/thompson-sampling-decision-trees/blob/HEAD/Fast-TSDT/searchtree.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":"80d08f08564b6878"}},{"code_sha256_prefix":"75953ffe0ad1221a","entry":"approximate_max_normal","repo":"chaoukia/thompson-sampling-decision-trees","repo_kind":"official","path":"Fast-TSDT/searchtree.py","file_url":"https://github.com/chaoukia/thompson-sampling-decision-trees/blob/HEAD/Fast-TSDT/searchtree.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":"75953ffe0ad1221a"}},{"code_sha256_prefix":"08cc2ef231d0804b","entry":"approximate_max_normal_2","repo":"chaoukia/thompson-sampling-decision-trees","repo_kind":"official","path":"Fast-TSDT/searchtree.py","file_url":"https://github.com/chaoukia/thompson-sampling-decision-trees/blob/HEAD/Fast-TSDT/searchtree.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":"08cc2ef231d0804b"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}