Interpretation des Ergebnisses der k-Mittel-Clusterbildung in R.

12

Ich habe die kmeansAnweisung von R verwendet, um den k-means-Algorithmus für Andersons Iris-Datensatz durchzuführen. Ich habe eine Frage zu einigen Parametern, die ich erhalten habe. Die Ergebnisse sind:

Cluster means:
  Sepal.Length Sepal.Width Petal.Length Petal.Width
1     5.006000    3.428000     1.462000    0.246000

Wofür steht in diesem Fall "Cluster"? Es ist der Mittelwert der Entfernungen aller Objekte innerhalb des Clusters?

Auch im letzten Teil habe ich:

Within cluster sum of squares by cluster:
[1] 15.15100 39.82097 23.87947
 (between_SS / total_SS =  88.4 %)

Dieser Wert von 88,4%, was könnte seine Interpretation sein?

James
quelle
4
Bitte nicht überkreuzen! stackoverflow.com/q/14524818/429846
Monica wieder herstellen - G. Simpson
Nein, es ist nur der Mittelwert aller Objekte im ersten Cluster (insgesamt 3). Sie können 88,4% von iris.km $ betweenss / iris.km $ totss
dfhgfh
Lesen Sie einen Artikel über k-means . Dann sollte es offensichtlich sein, was die Clsuter-Mittel sind ... K-Mittel sind nicht entfernungsbasiert . Es minimiert Abweichungen, auch bekannt als "Summe der quadratischen Abweichungen".
Hat aufgehört - Anony-Mousse
Angenommen, Ihr Mittelwert ist 0. Rechnen Sie nach. Überprüfen Sie, ob die obige Annahme einen Unterschied macht. Lebe danach glücklich. Profitieren!
Mia

Antworten:

23

Wenn Sie die Summe der quadratischen Abstände jedes Datenpunkts zum globalen Stichprobenmittelwert berechnen, erhalten Sie total_SS. Wenn Sie anstelle eines globalen Stichprobenmittelwerts (oder 'Schwerpunkts') einen pro Gruppe berechnen (hier gibt es drei Gruppen) und dann die Summe der quadratischen Abstände dieser drei Mittelwerte zum globalen Mittelwert berechnen, erhalten Sie between_SS. (Wenn Sie dies berechnen, multiplizieren Sie den quadratischen Abstand jedes Mittelwerts mit dem globalen Mittelwert mit der Anzahl der Datenpunkte, die er darstellt.)

Wenn es kein erkennbares Clustering-Muster gäbe, würden die drei Mittelwerte der drei Gruppen nahe am globalen Mittelwert liegen und between_SSeinen sehr kleinen Bruchteil von ausmachen total_SS. Hier ist das Gegenteil der Fall, was zeigt, dass sich Datenpunkte je nach Art im vierdimensionalen Raum recht ordentlich zusammenballen.

F. Tusell
quelle
14

K-means ist kein entfernungsbasierter Clustering-Algorithmus .

K-Mittel sucht nach der minimalen Summe von Quadraten Zuordnung , dh es ist nicht normalisierte Varianz (= minimiert total_SS) durch Punkte auf Clusterzentren zuweisen.

Damit k-means konvergieren kann, benötigen Sie zwei Bedingungen:

  • Durch das Neuzuweisen von Punkten wird die Summe der Quadrate reduziert
  • Durch Neuberechnung des Mittelwerts wird die Summe der Quadrate reduziert

Da es nur eine begrenzte Anzahl von Kombinationen gibt, können Sie diesen Wert nicht unendlich reduzieren, und der Algorithmus muss irgendwann zu einem lokalen Optimum konvergieren .

ich(xich- -μjich)2j. Mathematisch gesehen entspricht die Zuweisung durch die kleinste Quadratsumme der Zuweisung durch geschlossene quadratische euklidische Entfernung, was (wenn Sie die CPU-Zyklen für die Berechnung verschwenden sqrt) einer minimalen euklidischen Entfernungszuweisung entspricht. Die Intuition , jeden Punkt dem nächsten Mittelwert zuzuordnen, ist also richtig, aber nicht das, was das Optimierungsproblem bewirkt.

between_SS Wahrscheinlich ist dies die gewichtete Summe der Quadrate zwischen zwei Mitteln, um zu messen, wie gut Clusterzentren getrennt sind (Hinweis: Clusterzentren vergleichen nicht die tatsächlichen Cluster - technisch gesehen berührt die Cluster-Voronoi-Zelle die Nachbar-Cluster-Voronoi-Zelle).

Beachten Sie, dass Sie mit k-means die naive Clustering-Qualität verbessern können, indem Sie k erhöhen. Die hier gemessene Qualität ist ein mathematischer Wert, der möglicherweise nicht den Anforderungen des Benutzers entspricht. Iris ist eigentlich ein ziemlich gutes Beispiel, bei dem k-means oft zu weniger als zufriedenstellenden Ergebnissen konvergiert, selbst angesichts der externen Information, dass es genau 3 Cluster geben sollte.

Wenn Sie eine entfernungsbasierte Variation von k-Mitteln wünschen , schauen Sie sich k-Medoide an . Hier wird die Konvergenz sichergestellt, indem der Mittelwert durch das Medoid ersetzt wird:

  • Jedes Objekt wird dem nächsten Cluster zugeordnet (durch ein beliebiges Abstandsmaß).
  • Das Cluster-Center wird auf das zentralste Objekt des Clusters aktualisiert, dh auf den kleinsten durchschnittlichen Abstand zu allen anderen.

In jedem Schritt verringert sich die Summe der Entfernungen ; Es gibt eine endliche Anzahl von Kombinationen, daher muss der Algorithmus bei einem lokalen Minimum enden.

Hat aufgehört - Anony-Mousse
quelle
interessanter Punkt +1
Cam.Davidson.Pilon
1
Warum gibt es hier keine Entfernungsberechnung (in km)? Um die Varianz zu berechnen, muss der Abstand jedes Elements zum Mittelwert berechnet werden, sodass eindeutig eine Entfernungsberechnung erforderlich ist, nicht wahr?
Julian
Die Varianz wird normalerweise nicht als Abstand definiert, sondern als "erwarteter Wert der quadratischen Abweichung vom Mittelwert".
Hat aufgehört - Anony-Mousse