0

我正在使用内置的模糊 c 均值算法在 matlab 中对一些数据进行聚类,该算法返回 C 聚类中心,U 模糊分区矩阵。所以我知道 C 中的集群中心是什么,但我如何才能确定每个数据点属于哪个集群中心?使用模糊分区矩阵或其他方式?

4

1 回答 1

2

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

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

index1 是属于簇 1 的数据点的索引,index2 类似。因此,使用此信息可以轻松获得所需的信息。


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');

于 2010-07-08T19:43:57.747 回答