Hoppa till innehållet
AI-grafen
D· AI-utvecklareLaboration· ca 45 min· container

Labb: k-means från grunden

Implementera k-means (tilldela, uppdatera, upprepa), visa att tröghetsmåttet aldrig ökar, och hitta kluster i syntetisk data.

Lär ut: klustring · Kräver: vektorerstatistik-medelvarde-spridning

Teori

Upprepa: tilldela varje punkt till närmaste centroid; flytta varje centroid till medelvärdet av sina punkter. Trögheten (summa kvadratavstånd) minskar monotont.

Deluppgifter

  1. assign — `assign(X, C)` → index till närmaste centroid per rad.
  2. update — `update(X, labels, k)` → nya centroider (tomt kluster behåller gamla via NaN-hantering: använd X-medel).
  3. kmeans — `kmeans(X, k, steps, seed)` → (C, labels, inertia_history).

Evals: blobs-inertia (inertia <= 250)

Logga in för att köra laborationen.

Förväntade resultat

Trögheten minskar monotont; på tre tydliga blobbar hittas rätt kluster (tröghet < 250).

Vanliga fel

  • Byter axel i avståndsberäkningen.
  • Tomt kluster ger NaN-centroid.
  • Initierar centroider utanför datan.