Hoppa till innehållet
AI-grafen
D· AI-utvecklareklassisk-ml· ca 45 min· grundläggande — ändras sällan· verifierad 2026-09-20

Klustring: k-means och hierarkisk

Kunna klustra data utan etiketter och bedöma antalet kluster.

Förkunskaper

Intuition

Klustring är inlärning utan etiketter: hitta grupper i datan som ingen berättat om.

k-means i fyra steg:

  1. Placera k centrumpunkter slumpmässigt.
  2. Tilldela varje datapunkt till närmaste centrum.
  3. Flytta varje centrum till medelvärdet av sina punkter.
  4. Upprepa 2–3 tills inget ändras.

Problemet: k måste väljas i förväg, och algoritmen hittar alltid k kluster — även om datan inte har några.

Hierarkisk klustring bygger i stället ett träd: slå ihop de två närmaste grupperna, upprepa. Då kan man klippa trädet på valfri nivå efteråt.

Kod

from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score
import numpy as np

inertier, silhouetter = [], []
for k in range(2, 9):
    km = KMeans(n_clusters=k, n_init=10, random_state=0).fit(X)
    inertier.append(km.inertia_)                      # summan av kvadratavstånd till centrum
    silhouetter.append(silhouette_score(X, km.labels_))

for k, i, s in zip(range(2, 9), inertier, silhouetter):
    print(k, round(i, 1), round(s, 3))
# 2  520.3  0.51
# 3  210.4  0.68   ← armbåge och högst silhouette
# 4  195.1  0.42

Armbågsmetoden: rita inertin mot k och leta där kurvan viker av. Silhouette (−1 till 1) mäter hur väl varje punkt passar i sitt kluster jämfört med närmaste andra — högst värde är ofta ett bra k.

När k-means är fel val: avlånga eller ringformade kluster (den antar runda, ungefär lika stora), olika täthet, eller mycket brus. Då passar DBSCAN eller hierarkisk klustring bättre.

Behärskning innebär

  • Kör k-means och tolkar klustren
  • Väljer antal kluster med armbågsmetod eller silhouette
  • Vet när k-means är olämplig

Logga in för att göra övningarna och bygga upp din behärskning.

Källor

Alla källor och licenser