KI‑Kompass
Kompass

Clustering

Gruppen in Daten finden, ohne sie vorher zu kennen: k-Means, HDBSCAN und die Frage, wann ein Cluster mehr ist als eine Rechenoperation.

·2 Min. Lesezeit·Von Fachredaktion Technik
DETAILGRAD
3 Abschnitte

Die Idee

Sie haben zehntausend Kundendatensätze und keine Segmentierung. Clustering legt sie so auf einen Tisch, dass Ähnliches beieinanderliegt, und zeichnet Kreise darum. Welche Kreise sinnvoll sind, entscheidet danach ein Mensch.

Wozu es gut ist

  • Kundensegmente als Ausgangspunkt für eine Diskussion, nicht als Ergebnis.
  • Ähnliche Fehlermeldungen bündeln, bevor jemand sie liest.
  • Sortimente ordnen, Standorte gruppieren, Textbestände sichten.

Die Verfahren im Vergleich

VerfahrenForm der GruppenRauschen erlaubtAnzahl vorgeben
k-Meanskugelig, ähnlich großneinja
Gaußsche Mischungelliptischneinja
Agglomerativbeliebig, hierarchischneinja oder Schnitt
DBSCANbeliebig, gleiche Dichtejanein
HDBSCANbeliebig, wechselnde Dichtejanein
import numpy as np
from sklearn.cluster import KMeans
from sklearn.metrics import silhouette_score, adjusted_rand_score
from sklearn.preprocessing import StandardScaler

rng = np.random.default_rng(0)
X = np.vstack([rng.normal(m, s, (200, 2))
               for m, s in ([(0,0), .5], [(5,5), .8], [(0,6), .4])])
X = StandardScaler().fit_transform(X)

# Stabilitaet pruefen: zwei Laeufe auf zwei Haelften, dann vergleichen.
a = KMeans(3, n_init=10, random_state=1).fit_predict(X)
b = KMeans(3, n_init=10, random_state=2).fit_predict(X)
print("Silhouette", round(silhouette_score(X, a), 3))
print("Stabilitaet", round(adjusted_rand_score(a, b), 3))   # nahe 1 ist gut

Die Zielfunktion von k-Means

Within-Cluster Sum of Squares

WCSS = Σⱼ₌₁..ₖ Σ_{x∈Cⱼ} ‖x − μⱼ‖²

Minimiert wird die Summe der quadrierten Abstände jedes Punktes zu seinem Clusterschwerpunkt.

Cⱼ
die Punktmenge des j-ten Clusters
μⱼ
der Schwerpunkt des j-ten Clusters
k
die Anzahl der Cluster

Diese Größe fällt monoton mit k und ist deshalb als Auswahlkriterium für sich genommen wertlos. Das Ellbogenkriterium sucht die Stelle, an der der Zugewinn abknickt: eine Heuristik, kein Test.

Warum k-Means kugelig denkt

Die Zuordnung minimiert den euklidischen Abstand zum Schwerpunkt. Die Grenzen zwischen zwei Clustern sind damit Mittelsenkrechten, und die Zellen sind ein Voronoi-Diagramm: konvexe Polygone. Längliche, gebogene oder ineinander verschachtelte Gruppen können damit prinzipiell nicht getroffen werden, unabhängig von k.

Aufwand

VerfahrenZeitSpeicher
k-MeansO(n · k · d · i)O(n · d)
AgglomerativO(n³) naiv, O(n² log n) gutO(n²)
DBSCAN mit IndexO(n log n)O(n)
HDBSCANO(n log n) typischO(n)

Bei n = 10⁶ ist agglomeratives Clustern mit einer Abstandsmatrix von 4 Terabyte ausgeschlossen. Praktisch reduziert man zuerst die Dimension, siehe Dimensionsreduktion, und clustert dann.

Der rechtliche Punkt

Cluster über Personendaten sind neue personenbezogene Merkmale. Sie unterliegen der Zweckbindung und sind Gegenstand von Auskunftsersuchen. Wenn ein Cluster in eine Entscheidung über eine Person einfließt, ist er begründungspflichtig, und „das Verfahren hat sie so gruppiert" ist keine Begründung.

Passende Kurse und Quellen

ArtikelKostenlosEN

scikit-learn Benutzerhandbuch

Kein Handbuch, sondern ein Lehrbuch mit Code. Zu jedem Verfahren steht dabei, wann es nicht passt, was in Lehrbüchern selten so deutlich steht.

Für alle, die klassische Verfahren einsetzen; nennt zu jedem auch, wann es nicht passt.

scikit-learnZum Angebot
War diese Seite hilfreich?
Clustering