2016-11-08 6 views
2

Ich habe einen kmeans Algorithmus auf dem iris Datensatz in R mit dem Befehl kmeans_iris <- kmeans(iris[,1:4], centers=3) ausgeführt. Ich möchte jetzt die Entfernung von einer gegebenen Beobachtung im Datensatz iris zum entsprechenden Schwerpunkt des Clusters wissen. Ich könnte Code schreiben, um den euklidischen Abstand von einer Beobachtung zu dem centers, der seinem Cluster entspricht, manuell zu berechnen, aber gibt es keine einfache, eingebaute Möglichkeit, dies zu tun?R kmeans endgültige Entfernung zum Schwerpunkt

+0

Related unbeantwortete Frage - http://StackOverflow.com/Questions/29397974/plotting-Clusters-using-K-Mean-With-Distance-From-Centroid – thelatemail

+0

Ich bin mir nicht ganz sicher über die Berechnungen, aber Sie können zurückkehren die Zentren für jeden Fall mögen 'gepasst (kmeans_iris)', die Sachen erleichtern sollten. – thelatemail

+0

Danke, dies hilft bei der manuellen Berechnung der euklidischen Distanz. Ich wünschte nur, es gäbe einen einfachen, automatisierten Weg, dies zu tun. –

Antwort

1

Soweit ich sagen kann, gibt es keine Methode zum Extrahieren der pro Fall Abstand. Wenn ich verstehe, was Sie richtig wollen, könnten Sie Ihre eigenen wie:

sqrt(rowSums(iris[,1:4] - fitted(kmeans_iris))^2) 
#[1] 0.058 0.642 0.742 0.742 0.058 1.258 0.442 0.042 1.242 0.542 ... 

... für einen euklidischen Abstand.