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
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.