Der Calinski-Harabasz-Index: Eine Methode zur Beurteilung der Clusterqualität ohne bekannte Grundwahrheit

Der Calinski-Harabasz (CH) Index, 1974 von Calinski und Harabasz eingeführt, kann zur Beurteilung von Clustering-Modellen verwendet werden, wenn die wahren Klassenlabels der Datenpunkte unbekannt sind. Die Validierung der Qualität des Clusterings erfolgt dabei auf der Grundlage von in den Daten inhärenten Größen und Merkmalen. Der CH-Index misst, wie ähnlich ein Objekt innerhalb seines eigenen Clusters ist (Kohäsion) im Vergleich zu anderen Clustern (Separation). Kohäsion wird anhand der Abstände der Datenpunkte in einem Cluster zu ihrem jeweiligen Clustermittelpunkt geschätzt, während Separation auf der Distanz der Clustermittelpunkte zum globalen Zentroid basiert. Der CH-Index hat die Form (a . Separation)/(b . Kohäsion), wobei a und b Gewichte sind.

Berechnung des Calinski-Harabasz-Indexes:

Der CH-Index für K Cluster in einem Datensatz D = [d1, d2, d3, … dN] ist definiert als:

wobei nk und ck die Anzahl der Punkte und der Zentroid des k-ten Clusters sind, c der globale Zentroid ist und N die Gesamtzahl der Datenpunkte ist.

Ein höherer CH-Index bedeutet, dass die Cluster dicht und gut getrennt sind. Es gibt jedoch keinen “akzeptablen” Schwellenwert. Man sollte die Lösung wählen, die einen Peak oder zumindest einen abrupten Knick im Liniendiagramm der CH-Indizes zeigt. Wenn die Linie jedoch glatt ist (horizontal, aufsteigend oder absteigend), gibt es keinen Grund, eine Lösung gegenüber anderen zu bevorzugen.

Implementierung des Calinski-Harabasz-Indexes in Python:

In Python kann man den Calinski-Harabasz-Index mithilfe der Scikit-Learn-Bibliothek berechnen. Nachdem man ein Clustering-Modell, beispielsweise k-Means, auf seinen Datensatz angewendet hat, kann man den Index wie folgt berechnen:

from sklearn.metrics import calinski_harabasz_score

# Angenommen, X ist Ihr Datensatz und model.labels_ sind die Cluster-Labels, die das Modell generiert hat
ch_index = calinski_harabasz_score(X, model.labels_)

print("Calinski-Harabasz-Index:", ch_index)

Mit dieser Implementierung kann man den Calinski-Harabasz-Index für verschiedene Clusterlösungen berechnen und diejenige auswählen, die den höchsten Wert oder zumindest einen Peak im Liniendiagramm der Indizes aufweist.

Calinski-Harabasz-Index vs. Silhouette-Score

  • Calinski-Harabasz-Index (CHI):
    • Misst die Clusterqualität durch das Verhältnis der Summe der zwischen den Clustern bestehenden Varianzen zur Summe der innerhalb der Cluster bestehenden Varianzen.
    • Höhere Werte deuten auf eine bessere Clusterqualität hin, mit gut getrennten und dicht gepackten Clustern.
    • Abhängig von der Clusteranzahl und der Streuung der Datenpunkte.
    • Kann bei der Bestimmung der optimalen Clusteranzahl in Algorithmen wie k-means hilfreich sein​​.
  • Silhouette-Score:
    • Misst, wie ähnlich ein Objekt seinem eigenen Cluster im Vergleich zu anderen Clustern ist.
    • Der Wertebereich liegt zwischen -1 und 1, wobei ein hoher Wert auf eine gute Zuordnung zu den eigenen Clustern und eine schlechte Zuordnung zu benachbarten Clustern hinweist.
    • Bietet eine grafische Darstellung der Clusterdichte und -trennung, die leicht interpretiert werden kann.
    • Gut geeignet für die visuelle Beurteilung der Clusterkonsistenz​​​​.

Calinski-Harabasz-Index vs. Davies-Bouldin-Index

  • Davies-Bouldin-Index (DBI):
    • Misst die durchschnittliche “Ähnlichkeit” zwischen Clustern, basierend auf dem Verhältnis der inneren Clusterdispersion zur zwischen Cluster liegenden Dispersion.
    • Niedrigere Werte des DBI deuten auf bessere Clustering-Ergebnisse hin, da sie eine geringe intra-Cluster-Distanz und eine hohe inter-Cluster-Distanz anzeigen.
    • Kann empfindlich auf das Vorhandensein von Ausreißern in den Daten reagieren, was zu verzerrten Ergebnissen führen kann​​.

Fazit

  • Der Calinski-Harabasz-Index ist besonders nützlich, um die Clusterqualität in Bezug auf die Trennung und Kompaktheit zu bewerten, und hilft bei der Bestimmung der optimalen Clusteranzahl.
  • Der Silhouette-Score bietet intuitive, grafische Einblicke in die Passform der Datenpunkte zu ihren Clustern und ist hilfreich, um die Konsistenz der Clustering-Ergebnisse zu beurteilen.
  • Der Davies-Bouldin-Index eignet sich zur schnellen Bewertung der Clusterqualität, wobei niedrigere Werte eine bessere Clustering-Leistung anzeigen. Er kann jedoch durch Ausreißer beeinflusst werden.