jbkunst / jbkunst/visual-data-lab
Simplify advanced controls across selected apps
- Dominant language
- HTML
- Stars
- 56
- Forks
- 49
- Avg merge
- 1d 1h
- Merged PRs (30d)
- 4
Description
## Goal
Make the main control surface of each experiment emphasize the statistical/ML concept, while keeping implementation, simulation and reproducibility controls available but secondary.
## Design principle
Main controls should answer **what changes the concept?** Controls that mainly change computation, sampling, numerical precision or reproducibility should move into an `Advanced`, `Simulation settings`, `Projection settings`, or similar accordion.
## Candidate apps
### Logistic Regression
Keep prominent:
- relationship / data shape;
- noise;
- model order.
Consider secondary:
- number of observations;
- stepwise selection.
### Lorenz Attractor
Keep prominent:
- sigma;
- rho;
- beta.
Move secondary:
- number of points;
- time step `dt`.
A future conceptual enhancement could compare two almost-identical starting conditions to make sensitivity to initial conditions visible, but that is **not required for this issue**.
### Pokémon Dimensionality Reduction
Keep prominent:
- method;
- similarity recipe;
- generations;
- re-run projection.
Move into `Projection settings` or equivalent:
- t-SNE perplexity and iterations;
- UMAP neighbors and minimum distance;
- seed.
Keep custom similarity weights conditional on `Custom weights`; keep display-only controls such as sprite size in visual settings.
### WoE Binning Lab
Keep prominent:
- variable;
- binning method;
- maximum bins.
Move secondary:
- minimum bin share;
- stopping threshold.
### Network Structures (draft, when revisited)
Prefer the conceptual flow:
- network structure;
- number of nodes;
- structure-specific parameter;
- generate.
Treat seed and force-layout controls as secondary/display mechanics where possible.
## Constraints
- Do not remove useful capability merely to make every app identical.
- Do not introduce a new abstraction/framework for controls.
- Use existing `bslib::accordion()` patterns and app-local structure.
- Keep the current Visual Data Lab theme and layout conventions.
## Done when
Each selected app can be understood from its first visible controls without requiring the user to distinguish statistical concepts from implementation knobs.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the Logistic Regression, Lorenz Attractor, Pokémon Dimensionality Reduction, WoE Binning Lab, and Network Structures app entry points, and inspect existing bslib::accordion() patterns. Compare each app’s visible controls with the issue’s conceptual-versus-implementation lists, then verify that advanced settings remain available and the first visible controls communicate the statistical concept.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- r
- Domain
- data-visualization, frontend, machine-learning
- Issue type
- Refactor
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100