2016-02-17 133 views
-3

我有大量的數據。我已經在我的數據上實現了k-means聚類。它對數據進行聚類,並在集羣中繪製具有質心周圍數據點的圖。找出k-均值聚類中簇的質心座標

圖表如下:

enter image description here

但我想要得到的質心的精確xy座標印刷,這樣我可以從質心計算的新數據點的距離,使以找出新數據所屬的集羣。 (測試點; ctrs])%測試點爲1x10,D將爲20x20 [距離測試點ID] = min(D(1,2:結束)), ) 我無法理解[distance testpointID] = min(D(1,2:end))實際上是什麼嗎?請幫助我!

+0

嘗試使用**文檔**! –

+1

和**停止重新發布相同的問題**:[關於k-means聚類在MATLAB中的查詢](http://stackoverflow.com/questions/35359104/query-regarding-k-means-clustering-in-matlab) –

回答

2

這是從 Matlab help for the kmeans function

[idx,C] = kmeans(___) % returns the k cluster centroid locations 
         % in the k-by-p matrix C. 

這意味着你可以調用kmeans有兩個輸出參數。第一個將包含你的點數,第二個是你正在尋找的質心位置。

1

如果您已使用Matlab函數,則質心是第二個輸出參數。但是,如果您自己實施了K-Means,則必須通過考慮其定義手動評估這些質心。對於給定的聚類,質心不過是與該聚類關聯的點之間的平均值。
如果您有任務{point; cluster},您可以輕鬆評估質心:假設您有一個給定的集羣,其中n分配給它,這些點是a1,a2,...,an。您可以使用以下方法評估此羣集的質心:

centroid=(a1+a2+...+an)/n