2009-11-20 34 views
0

我用matlab中的一些数据聚类,使用内置的模糊c均值算法,它返回C聚类中心,u模糊分割矩阵。所以我知道C的聚类中心是什么,但我怎样才能找出每个数据点属于哪个聚类中心?使用模糊分区矩阵或其他方式?matlab中模糊c的意思

回答

2

我知道这是一个非常古老的问题,但如果我给出答案,其他人可能会找到帮助。

以下示例来自Matlab帮助。示例中有2个群集。

index1是属于集群1的数据点的索引,并且索引2是相似的。所以,使用这个信息你所需要的很容易获得。


data = rand(100, 2); 
[center,U,obj_fcn] = fcm(data, 2); 
plot(data(:,1), data(:,2),'o'); 
maxU = max(U); 
index1 = find(U(1,:) == maxU); 
index2 = find(U(2, :) == maxU); 
line(data(index1,1),data(index1, 2),'linestyle','none',... 
    'marker','*','color','g'); 
line(data(index2,1),data(index2, 2),'linestyle','none',... 
    'marker', '*','color','r');