jbkunst / jbkunst/visual-data-lab
Clarify Decision Tree app: generic CART vs conditional inference tree
- Dominant language
- HTML
- Stars
- 56
- Forks
- 49
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 4
Description
## Context
The current `decision-tree` app is presented as a generic **Decision Tree**, but it is built with `klassets::fit_classification_tree()`, which uses `partykit::ctree`. That is why the main controls include `alpha` and split p-values.
For a general educational gallery, most users will expect a CART-style tree when they open an app called **Decision Tree**.
## Preferred direction
Make the generic app a CART-style decision tree (for example with `rpart`) and teach the canonical ideas first:
- tree depth / complexity;
- recursive splits;
- rectangular decision regions;
- impurity / class separation;
- underfitting vs overfitting as the tree grows.
The current conditional-inference-tree version can be retained separately later if it is useful, with a more explicit title such as **Conditional Inference Tree**.
## 80/20 constraints
- Keep the current two-dimensional synthetic-data idea and the visual comparison between data, decision regions, tree, and diagnostics where useful.
- Do not add a large hyperparameter panel.
- Prefer 2–4 conceptually meaningful main controls.
- Keep sample size and implementation-oriented options secondary/advanced if retained.
- Preserve the existing Visual Data Lab layout/theme conventions.
## Alternative if CART conversion is not worth it
At minimum, rename and rewrite the current app so that it explicitly teaches a **Conditional Inference Tree** rather than implying a generic CART tree.
## Done when
A visitor opening the app gets an accurate mental model of the tree algorithm being shown, and the main controls correspond to the educational concept rather than implementation details.
Contributor guide
No contributing guide indexed for this repository
Research direction
Locate the current `decision-tree` app and trace its use of `klassets::fit_classification_tree()` and `partykit::ctree`; review the existing controls and visual panels first. Decide whether the app will become CART-style or be explicitly renamed as a conditional inference tree, then verify that the title, controls, and visuals teach the selected algorithm while preserving the existing layout.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- r
- Domain
- data-visualization, machine-learning
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100