k-means clustering

En iterativ algoritme til at partionere et datasæt i k clusters, hvor hvert punkt tilhører det cluster med nærmeste centroid.

Kort fortalt

En metode til at gruppere data i et bestemt antal grupper (k) ved at finde centrum for hver gruppe og tildele punkter til nærmeste centrum.

Kategori
teknik
Niveau
øvet
Udtale
/ˈkeɪ miːnz ˈklʌstərɪŋ/

Betydninger

1
  1. 1

    En algoritme til uovervåget clustering, der gentagne gange tildeler punkter til nærmeste centroid og opdaterer centroiderne som gennemsnit af deres punkter, indtil konvergens.

    • Ved hjælp af k-means clustering segmenterede vi kunderne i tre grupper baseret på deres købsadfærd.Eksempel fra praksis, 2023
    • K-means anvendes ofte som en del af en billedkomprimeringspipeline til at reducere antallet af farver.Eksempel fra praksis, 2022

Hvornår bruges det

K-means bruges ofte til klyngeanalyse, kundesegmentering, billedkomprimering og som en indledende undersøgelse af data. Det kræver at man vælger k på forhånd, og resultatet afhænger af initialisering.

Formel

J = Σ_{i=1}^{k} Σ_{x∈S_i} ||x - μ_i||²

Kodeeksempel

from sklearn.cluster import KMeans
import numpy as np

# Sample data
X = np.random.rand(100, 2)

# Create KMeans with 3 clusters
kmeans = KMeans(n_clusters=3, random_state=0)
kmeans.fit(X)

# Get cluster labels and centroids
labels = kmeans.labels_
centroids = kmeans.cluster_centers_

Eksempel på brug af k-means i Python med scikit-learn. Data genereres tilfældigt, og algoritmen finder 3 clusters.

Oprindelse

K står for antallet af clusters, 'means' henviser til centroiderne som er gennemsnit (means) af punkterne i hvert cluster.

Afledte ord

2

Kilder

1