Ready Step 0
idle

Click on the canvas to add data points. Then click "Place centroids" → "Reassign Points" → "Update Centroids": repeat.

🎲 GMM (soft EM: see k-means as a special case)

K-means is hard-EM with σ → 0: each point belongs entirely to one cluster. GMM relaxes this: each point has a soft "responsibility" γᵢₖ for each cluster, and clusters have variances (size). Run GMM EM starting from the current k-means centroids and see how the soft fit differs.

(place centroids first, then click "One EM step")
✨ Featured comparison
Featured comparison

Change k and watch the story change. K-means always returns clusters, but it does not know the right number of clusters.

Run k=2, k=3, and k=5, then compare whether the clusters match the visible data structure.

🧭 Visual explanation

Live state to watch
No state captured yet. Run or adjust the applet first.
Misread to avoid

📚 Lesson tour (5 steps)
Step 1/5: -

-

📝 Worksheet (3 questions)

Q1. Load the smiley face dataset with k=3. Run to convergence. Does k-means recover the two eyes and the curved smile as three clusters?

Q2. Gaussians dataset (3 true clusters). Compared to k=3, setting k=6 makes the inertia go:

Q3. Use the silhouette score on the Gaussians dataset. Try k=2, k=3, k=4. Which k has the HIGHEST silhouette?

🧪 Student response packet

Run assignment and centroid updates, then explain how k, initialization, inertia, and silhouette shape the clustering result.

State snapshot appears here.
♿ Text and keyboard support

Text and keyboard support

Keyboard path

  • Use Tab and Shift+Tab to move through controls.
  • Use Enter or Space on buttons, and arrow keys on sliders or select controls.
  • The visual region is focusable and described by the state summary below.

Text state summary

Reduced motion and non-visual support

Reduced-motion settings are honored where possible. The current state is also available as text, so the main result does not depend only on color, animation, or spatial position.

Accessibility note: this layer gives a text equivalent for the applet state. It does not replace a full human screen-reader audit.