2015-04-02 30 views
0

我有一些數據MATLAB - 標籤K-means聚類情節

data = 16.9;23.8;11.3;5.8;9;2;8.6;7.3;2.6;0.3;0.9;2.7;1;8.7;4.5;0.4;2.8;8.9;0.4;5;2.7;8.4;3.9;8.8 

我做了K-方式使用此代碼羣集:

[idx2,C2] = kmeans(firstblik,2,'Distance','cityblock','Replicates',10); 
figure; 
plot(firstblik(idx2==1),'r.','MarkerSize',12) 
hold on 
plot(firstblik(idx2==2),'b.','MarkerSize',12) 
legend('Cluster 1','Cluster 2','Location','NW') 
hold off 

的IDX2自動2組分類我的數據( 1和2)如:

idx2 = [2;2;2;2;2;2;2;2;1;1;1;1;1;2;1;2;1;1;1;1;1;2;1;2] 

我做了標籤的矢量這些數據點中的每一個,我想向他們展示我的陰謀。

我用普通的文本()函數進行標記,但我的K-means情節在2分裂嘗試:

我第一次繪製所有的1,那麼所有的2在同一圖

怎麼辦考慮到標籤遵循與我的數據矩陣相同的順序,我標記這些點?

任何幫助表示讚賞

謝謝!

額外的信息:我的情節在2分割所以我已經講過了密謀[數據IDX2

+0

可能重複當文本()函數將無法工作,因爲數據的順序不守恆標籤上的每個條目在xy scatter](http://stackoverflow.com/questions/7100398/data-label-on-each-entry-in-xy-scatter) – knedlsepp 2015-04-02 10:13:16

+0

我個人比較喜歡給點顏色而不是標記它們雖然。 – knedlsepp 2015-04-02 10:13:44

+0

嗨,感謝您的幫助。它們已經着色,但我需要分別識別每個點。我不認爲它是重複的,因爲我已經提到我嘗試text()函數。我的問題是,數據是在2分類排序,所以秩序不守護 – oub 2015-04-02 10:56:29

回答

0
[cluster_idx, cluster_center] = kmeans(ab,nColors,'distance','sqEuclidean', ... 
             'Replicates',3); 

pixel_labels = reshape(cluster_idx,nrows,ncols); 

imshow(pixel_labels,[]); 
+0

通常,如果答案包含對代碼意圖做什麼的解釋,以及爲什麼解決問題而不引入其他問題,則答案會更有幫助。 – 2017-12-12 03:09:08