Ich habe einen Clustering-Algorithmus (nicht k-means) mit dem Eingabeparameter (Anzahl der Cluster). Nach dem Clustering möchte ich ein quantitatives Qualitätsmaß für dieses Clustering erhalten. Der Clustering-Algorithmus hat eine wichtige Eigenschaft. Für erhalte ich, wenn ich Datenpunkte ohne signifikante Unterscheidung zwischen diesen in diesen Algorithmus einspeise, einen Cluster mit Datenpunkten und einen Cluster mit Datenpunkt. Offensichtlich ist das nicht das, was ich will. Ich möchte dieses Qualitätsmaß berechnen, um die Angemessenheit dieses Clusters abzuschätzen. Idealerweise kann ich diese Maße für verschiedene . Also werde ich Clustering im Bereich von ausführenk = 2 N N - 1und wählen Sie die mit der besten Qualität. Wie berechne ich ein solches Qualitätsmaß?
AKTUALISIEREN:
Hier ist ein Beispiel, wenn ein fehlerhaftes Clustering ist. Angenommen, es gibt 3 Punkte auf einer Ebene, die ein gleichseitiges Dreieck bilden. Das Aufteilen dieser Punkte in zwei Cluster ist offensichtlich schlimmer als das Aufteilen in ein oder drei Cluster.
quelle
Antworten:
Die Wahl der Metrik hängt vielmehr von dem ab, was Sie als Zweck des Clustering ansehen. Persönlich denke ich, dass es beim Clustering darum gehen sollte, verschiedene Gruppen von Beobachtungen zu identifizieren, die jeweils durch einen anderen Datenerzeugungsprozess erzeugt wurden. Ich würde also die Qualität eines Clusters testen, indem ich Daten aus bekannten Datenerzeugungsprozessen generiere und dann berechne, wie oft Muster durch das Clustering falsch klassifiziert werden. Dies beinhaltete natürlich Annahmen über die Verteilung von Mustern aus jedem Erzeugungsprozess, aber Sie können Datensätze verwenden, die für die überwachte Klassifizierung ausgelegt sind.
Andere betrachten Clustering als den Versuch, Punkte mit ähnlichen Attributwerten zu gruppieren. In diesem Fall sind Maßnahmen wie SSE usw. anwendbar. Diese Definition von Clustering finde ich jedoch eher unbefriedigend, da sie nur einen Hinweis auf die jeweilige Stichprobe von Daten gibt und keine verallgemeinerbaren Angaben zu den zugrunde liegenden Verteilungen enthält. Ein besonderes Problem bei dieser Ansicht ist, wie Methoden mit überlappenden Clustern umgehen (für die Ansicht "Datenerzeugungsprozess" ist dies kein wirkliches Problem, Sie erhalten lediglich Wahrscheinlichkeiten für die Clustermitgliedschaft).
quelle
Da das Clustering nicht überwacht wird, ist es schwierig, a priori zu wissen, was das beste Clustering ist. Das ist Forschungsthema. Gary King, ein bekannter quantitativer Sozialwissenschaftler, hat einen bevorstehenden Artikel zu diesem Thema.
quelle
Hier haben Sie ein paar Maßnahmen, aber es gibt noch viele weitere:
SSE: Summe des quadratischen Fehlers aus den Elementen jedes Clusters.
Abstand zwischen Clustern: Summe der quadratischen Abstände zwischen den einzelnen Cluster-Schwerpunkten.
Intra-Cluster-Abstand für jeden Cluster: Summe der quadratischen Entfernung zwischen den Elementen jedes Clusters und seinem Schwerpunkt.
Maximaler Radius: größte Entfernung von einer Instanz zu ihrem Cluster-Schwerpunkt.
Durchschnittlicher Radius: Summe der größten Entfernung von einer Instanz zu ihrem Cluster-Schwerpunkt geteilt durch die Anzahl der Cluster.
quelle
Sie sind auf den Bereich Clustering Validation gestoßen. Mein Student hat die Validierung mit folgenden Techniken durchgeführt:
A. Banerjee und RN Dave. Validierung von Clustern mithilfe der Hopkins-Statistik. 2004 Internationale IEEE-Konferenz zu Fuzzy-Systemen IEEE Cat No04CH37542, 1: p. 149–153, 2004.
Es basiert auf dem Prinzip, dass Datenpunkte innerhalb eines Clusters gleichmäßig verteilt sind, wenn ein Cluster gültig ist.
Vorher sollten Sie jedoch feststellen, ob Ihre Daten eine so genannte Clustering-Tendenz aufweisen, dh ob es sich lohnt, Clustering und die optimale Anzahl von Clustern durchzuführen:
S. Saitta, B. Raphael und IFC Smith. Ein umfassender Gültigkeitsindex für das Clustering. Intell. Data Anal., 12 (6): p. 529–548, 2008.
quelle
Wie andere angemerkt haben, gibt es viele Maßnahmen zur Bündelung von "Qualität"; Die meisten Programme minimieren SSE. Keine einzelne Zahl kann viel über Rauschen in den Daten oder Rauschen in der Methode oder flache Minima - Tiefpunkte in Saskatchewan aussagen.
Versuchen Sie also zunächst, ein bestimmtes Clustering zu visualisieren, ein Gefühl dafür zu bekommen, bevor Sie es auf "41" reduzieren. Machen Sie dann 3 Läufe: Erhalten Sie SSEs 41, 39, 43 oder 41, 28, 107? Was sind die Clustergrößen und -radien?
(Hinzugefügt :) Schauen Sie sich Silhouette-Plots und Silhouette-Scores an, z. B. im Buch von Izenman, Modern Multivariate Statistical Techniques (2008, 731p, isbn 0387781889).
quelle
Die Silhouette kann verwendet werden, um Clustering-Ergebnisse auszuwerten. Dazu wird die durchschnittliche Entfernung innerhalb eines Clusters mit der durchschnittlichen Entfernung zu den Punkten im nächsten Cluster verglichen.
quelle
Eine Methode wie diejenige, die in einer unbeaufsichtigten zufälligen Gesamtstruktur verwendet wird, könnte verwendet werden.
Random Forest- Algorithmen behandeln die unbeaufsichtigte Klassifizierung als Zweiklassenproblem, bei dem aus dem ersten Datensatz ein ganz anderer künstlicher und zufälliger Datensatz erstellt wird, indem die Abhängigkeitsstruktur in den Daten entfernt wird (Randomisierung).
Sie könnten dann einen solchen künstlichen und zufälligen Datensatz erstellen, Ihr Clustering-Modell anwenden und die Metrik Ihrer Wahl (z. B. SSE) mit Ihren wahren Daten und Ihren zufälligen Daten vergleichen.
Durch Einmischen von Randomisierung, Permutation, Bootstrapping, Bagging und / oder Jacknifing können Sie ein Maß erhalten, das einem P-Wert ähnelt, indem Sie die Häufigkeit messen, mit der ein bestimmtes Clustering-Modell für Ihre wahren Daten einen kleineren Wert ergibt als für Ihre zufälligen Daten, wobei eine Metrik von verwendet wird Wahl (zB SSE oder Out-of-Bag-Fehler-Vorhersage).
Ihre Metrik ist somit ein Unterschied (Wahrscheinlichkeit, Größenunterschied, ...) in einer beliebigen Metrik zwischen echten und zufälligen Daten.
Wenn Sie dies für viele Modelle wiederholen, können Sie zwischen den Modellen unterscheiden.
Dies kann in R implementiert werden.
randomforest ist in R verfügbar
quelle
Wenn der Clustering-Algorithmus nicht deterministisch ist, versuchen Sie, die "Stabilität" von Clustering zu messen - finden Sie heraus, wie oft jeweils zwei Beobachtungen zu demselben Cluster gehören. Diese allgemein interessante Methode eignet sich zur Auswahl von k im km-Algorithmus.
quelle