2015-04-02 92 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