jbkunst / jbkunst/visual-data-lab

Simplify advanced controls across selected apps

Open
#46 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.