FCM聚类matlab
时间: 2023-08-24 19:06:02 浏览: 121
FCM,模糊C均值聚类的MATLAB实现[matlab].zip_FCM聚类_模糊C均值_模糊C均值聚类_模糊均值聚类_聚类 m
FCM (Fuzzy C-Means) 聚类是一种基于模糊逻辑的聚类方法,可用于将数据分成多个模糊的群体。在 MATLAB 中,可以使用 `fcm` 函数实现 FCM 聚类。
下面是一个简单的例子:
```matlab
% 生成随机数据
data = [randn(100,2)*0.75+ones(100,2);
randn(100,2)*0.5-ones(100,2)];
% FCM 聚类
[centers,U] = fcm(data,2);
% 绘制聚类结果
figure;
subplot(1,2,1);
plot(data(:,1),data(:,2),'o');
title('Original Data');
subplot(1,2,2);
maxU = max(U);
index1 = find(U(1,:) == maxU);
index2 = find(U(2,:) == maxU);
line(data(index1,1),data(index1,2),'linestyle','none','marker','o','color','g');
hold on;
line(data(index2,1),data(index2,2),'linestyle','none','marker','o','color','r');
plot(centers(1,1),centers(1,2),'xb','linewidth',2,'markersize',10);
plot(centers(2,1),centers(2,2),'xr','linewidth',2,'markersize',10);
title('FCM Clustering Result');
```
运行以上代码,将会得到一个包含原始数据和聚类结果的图形。
在上面的代码中,我们首先生成了一个随机的二维数据集。然后使用 `fcm` 函数将数据分成两个模糊的群体。最后,我们将聚类结果绘制在图形上。
在 `fcm` 函数中,第一个参数是需要聚类的数据,第二个参数是需要分成的群体数。函数返回聚类中心和每个数据点属于每个聚类的概率。
阅读全文