An interactive ML laboratory

Watch machine learning come alive.

JunglansVis turns abstract algorithms into living simulations you can poke, tune and replay. Change a parameter and watch the model react — instantly, right in your browser.

  • No install
  • No sign-up
  • Free forever
LIVE — K-NEAREST NEIGHBORS
30 pts
hover the canvas — the classifier will voteclick to add a leaf point

01 · The method

Intuition in three steps.

No 40-minute lectures. No walls of notation. You learn here the way you learned everything else — by pulling levers and watching what happens.

Step one

Pick an algorithm

Choose from 22 visualized algorithms, sorted by honest difficulty. Start with K-Nearest Neighbors — you already understand it, you just don't know it yet.

The library · 22 entries

K-Nearest NeighborsBEG
K-MeansBEG
Neural Networks (MLP)ADV

Step two

Tune every parameter

Drag K from 1 to 15. Switch the distance metric. Every slider re-renders the simulation in real time — you'll see overfitting happen with your own eyes, not just read its definition.

Parameters · every knob live

K
7
η
0.35

Step three

Watch it learn

Play, pause and step through training frame by frame. Watch centroids wander, boundaries shift and losses fall — like a sportscast for mathematics.

Playback · frame by frame

epoch 34 / 120

02 · The library

Twenty-two algorithms.
Zero black boxes.

Every entry ships with a live simulation, plain-language notes and every knob exposed. Filter by family — or by courage. Click a row to see what's inside.

What you'll see

Watch the decision boundary bend around your data as you drag K from 1 to 15. At K = 1 the model memorizes every point; push it higher and the vote smooths it into something calmer. Click the canvas to add points and the whole map redraws around them — that is the bias-variance trade-off, live.

Knobs you'll turn

K — neighboursDistance metricDistance weighting

~3 min to play

Open in Sandbox →

What you'll see

A single decision surface learns to separate two classes, one gradient step at a time. Nudge the learning rate and watch the sigmoid go from timid to reckless — the loss curve underneath shows you exactly why.

Knobs you'll turn

Learning rateIterationsDecision threshold

~4 min to play

Open in Sandbox →

What you'll see

See the margin — the fattest street that fits between your classes — and meet the support vectors holding its edges. Drop an outlier into the street and watch a support vector get demoted in real time.

Knobs you'll turn

Kernel (Linear, RBF, Poly)C — regularisationGamma

~6 min to play

Open in Sandbox →

What you'll see

Two bell curves fight over every incoming point. It is the classifier equivalent of judging a book by every word separately — naively, and yet disturbingly well.

Knobs you'll turn

PriorsLaplace SmoothingVariance smoothing

~3 min to play

Open in Sandbox →

What you'll see

One split at a time, the tree carves the plane into orthogonal rectangles. Set a max depth and watch it go from sensible to conspiratorial — the overfitting show is best viewed frame by frame.

Knobs you'll turn

Max depthSplit criterion (Gini/Entropy)Min samples per leaf

~5 min to play

Open in Sandbox →

What you'll see

One deep tree overfits gloriously; a hundred of them vote. Step through the ensemble as individual trees make confidently wrong guesses that somehow average into a remarkably smooth answer.

Knobs you'll turn

Number of treesMax depthBootstrap sampling

~8 min to play

Open in Sandbox →

What you'll see

Each stump focuses specifically on the misclassified examples of the previous round by boosting their sample weights. Watch stubborn outliers command the attention of new stumps.

Knobs you'll turn

Number of estimatorsLearning rateStump depth

~7 min to play

Open in Sandbox →

What you'll see

Instead of reweighting samples like AdaBoost, Gradient Boosting trains each new tree directly on the pseudo-residuals of the previous ensemble loss function.

Knobs you'll turn

EstimatorsLearning rate (shrinkage)Max depth

~8 min to play

Open in Sandbox →

What you'll see

Ordinary Least Squares and gradient descent, animated. Drag a point off the trend and watch the line get pulled toward the outlier like gravity — then test regularisation.

Knobs you'll turn

Learning rateBatch sizeOptimizer method

~3 min to play

Open in Sandbox →

What you'll see

Raise the polynomial degree and watch the curve chase every noisy data point — right up until it oscillates wildly at the boundaries (Runge phenomenon).

Knobs you'll turn

Degree (1 to 8)Regularisation strengthGradient step size

~5 min to play

Open in Sandbox →

What you'll see

Watch regression coefficients shrink toward zero without becoming strictly zero, providing graceful bias-variance balance under multicollinearity.

Knobs you'll turn

Alpha (L2 penalty)Learning rateEpochs

~4 min to play

Open in Sandbox →

What you'll see

Watch uninformative slope coefficients get driven exactly to 0.0, performing automatic embedded feature selection in real-time.

Knobs you'll turn

Alpha (L1 penalty)Coordinate descent stepTolerance

~5 min to play

Open in Sandbox →

What you'll see

Blend sparsity with group selection of correlated features by sliding the l1_ratio between pure Ridge and pure Lasso.

Knobs you'll turn

AlphaL1 Ratio (0 to 1)Iterations

~5 min to play

Open in Sandbox →

What you'll see

Drop K centroids into the wild and watch the two-step EM dance: assign every point to its closest centroid, recenter, and repeat until the partition freezes.

Knobs you'll turn

K — clustersInitialization (Random vs K-Means++)Max iterations

~4 min to play

Open in Sandbox →

What you'll see

Unlike K-Means centroids which drift to imaginary coordinates, K-Medoids centers are always real data points, making it robust against extreme outliers.

Knobs you'll turn

K medoidsDistance metric (Manhattan vs Euclidean)Max swaps

~5 min to play

Open in Sandbox →

What you'll see

No K required — density does the voting. Watch DBSCAN trace crescent moons and concentric rings that K-Means fails on, marking outliers in gray.

Knobs you'll turn

Epsilon radius (ε)MinPts thresholdDistance metric

~6 min to play

Open in Sandbox →

What you'll see

Watch covariance ellipses rotate, expand, and contract during Expectation-Maximization to fit overlapping multi-modal distributions.

Knobs you'll turn

ComponentsCovariance type (Full, Tied, Diag)Convergence tol

~7 min to play

Open in Sandbox →

What you'll see

Every merge is a decision drawn in real time. Cut the dendrogram high for a few chunky clusters, low for many tiny clusters.

Knobs you'll turn

Linkage (Single, Complete, Average, Ward)Cut heightDistance

~5 min to play

Open in Sandbox →

What you'll see

A cloud of points projected onto its most informative orthogonal eigenvectors. Watch variance get captured component by component.

Knobs you'll turn

ComponentsMean centeringWhitening

~6 min to play

Open in Sandbox →

What you'll see

A crowd of points in abstract space arranges itself into distinct visual clusters iteration by iteration using student-t distribution kernel relaxation.

Knobs you'll turn

Perplexity (5 to 50)Learning rateEarly exaggeration

~7 min to play

Open in Sandbox →

What you'll see

Forward activations and backpropagation loss gradients computed step-by-step. Choose between 13 activation functions (ReLU, GELU, Swish, etc.) and Adam optimizers.

Knobs you'll turn

Hidden layers & nodesActivation functionOptimizer & lrDropout rate

~10 min to play

Open in Sandbox →

What you'll see

An agent explores a grid world with hazards and rewards, updating its Q-table values via Bellman updates and balancing exploration vs exploitation (ε-greedy).

Knobs you'll turn

Learning rate (α)Discount factor (γ)Epsilon decayAlgorithm (Q-Learning vs SARSA)

~9 min to play

Open in Sandbox →

22 handcrafted pure-TypeScript algorithmic state machines. Zero server compute lag.

03 · The playground

Feel the learning rate.

A real gradient-descent run — not a video. Click the terrain to drop a ball, then drag η and learn the trade-off every ML engineer knows by heart: too big and it overshoots, too small and it crawls. Green dots mark the minima.

LIVE — GRADIENT DESCENT
waiting — click the terrain to drop a ballthe η slider works mid-roll

04 · Why JunglansVis

Because a black box
is a choice.

Most tools show you the output of machine learning. JunglansVis shows you the middle — the part where understanding actually lives. Every algorithm here can be paused, scrubbed and taken apart while it runs.

The name, by the way — Junglans regia is Latin for walnut: a seed that looks suspiciously like a tiny brain, and grows one ring at a time. We couldn't resist. Learn more at junglans.in.

Real-time simulation

Every parameter change re-renders in under 16 milliseconds. No reloads, no submit buttons, no waiting.

Frame-by-frame playback

Play, pause, scrub and single-step through training like a video. Understanding lives in the slow parts.

Zero installation

Everything runs in your browser. Open a tab and you're experimenting. Close it and nothing remains.

A graded path

Three honest difficulty tracks. Start with KNN on a Sunday; end at neural backpropagation before the semester does.

Free, forever

No accounts, no paywalls, no locked features. Curiosity is the only entry requirement.

0algorithms, alive
0difficulty tracks
0frames per second
0installs, ever
I'd read about gradient descent a dozen times. Ten minutes here, and I finally saw it.
Maria T. — second-year CS student

05 · Questions

Fair questions.

No. Every simulation works without a single formula. When you are ready, the notes behind each algorithm add the notation — by then it describes something you have already watched happen.

Yes — every algorithm, every parameter, no account, no paywall. JunglansVis runs on curiosity and a web page.

Nowhere. Every simulation runs locally in your browser tab. There is no backend to send anything to — close the tab and it is gone.

Please do. The playgrounds are built for projectors: big controls, step-by-step playback, and parameter changes you can narrate live while students watch the model react.

It is Latin for walnut (Junglans regia). A walnut looks like a tiny brain, and it grows one ring at a time — which is roughly how we think learning works. Explore more at https://junglans.in.

Ready to grow your intuition?

Your first simulation is one click — and zero downloads — away.