主要内容

模糊c均值聚类

这个例子展示了如何在二维数据上执行模糊c均值聚类。有关群集高维数据的示例,请参见虹膜数据的模糊c均值聚类

模糊c均值(FCM)是一种数据聚类技术N数据集中的每个数据点在一定程度上属于每个聚类。例如,靠近集群中心的数据点在该集群中的成员程度较高,而远离集群中心的另一个数据点在该集群中的成员程度较低。

fcm函数执行FCM聚类。它从对星团中心的随机初始猜测开始;这是每个集群的平均位置。接下来,fcm为每个集群随机分配每个数据点的成员等级。通过迭代更新每个数据点的聚类中心和隶属度等级,fcm将集群中心移动到数据集中的正确位置,并为每个数据点查找每个集群中的成员程度。这种迭代最小化一个目标函数,该目标函数表示从任意给定数据点到聚类中心的距离,该距离由该数据点在聚类中的成员关系加权。

加载数据

加载5个示例数据集,并选择一个数据集进行集群。这些数据集具有不同数量的集群和数据分布。

负载fcmdata数据集=fcmdata3

指定FCM设置

配置集群算法。有关这些设置的更多信息,请参见fcm.要为每个数据集获得准确的聚类结果,请尝试不同的聚类选项。

指定要计算的集群数量,该数量必须大于1

N =4

指定模糊划分矩阵的指数,控制聚类之间的模糊重叠程度。该值必须大于1,使用较小的值创建更清晰的集群边界。有关更多信息,请参见模糊c均值聚类中的模糊重叠调整

指数=2

指定优化迭代的最大次数。

maxIterations =One hundred.

指定目标函数在连续迭代之间的最小改进值。当目标函数的改进值低于此阈值时,优化停止。值越小,聚类结果越准确,但聚类收敛的时间越长。

minImprovement =0.00001

指定是否在每次迭代后显示目标函数值。

displayObjectiveFunction =

的选项向量fcm使用这些设置函数。

options = [exponent maxIterations minImprovement displayObjectiveFunction];

集群的数据

将数据聚类为N集群。

[C U] = fcm(数据集N选项);

C包含每个集群的计算中心。U包含计算出的模糊划分矩阵,它表示每个聚类中每个数据点的隶属度。

将每个数据点分类到它拥有最高隶属度的集群中。

maxU = max (U);指数=细胞(N, 1);i=1:N index{i} = find(U(i,:) == maxU);结束

图聚类结果

绘制聚类结果。

图保存i = 1: N的阴谋(数据集(指数{我},1),数据集(指数{我},2),“o”)情节(C(我,1),C(我,2),“xk”“MarkerSize”15岁的“线宽”3)结束持有

图中包含一个坐标轴。轴线包含8个线型对象。

每个集群中的数据点用不同的颜色显示。每个集群的中心显示为黑色X

绘制数据点成员值

选择要为其绘制成员函数曲面的集群。

集群=2

通过将所有数据点的聚类隶属度值拟合到一个曲面上,获得选定聚类的隶属度函数。有关插值分散三维数据的更多信息,请参见griddata

[X,Y] =网网格(0:05:1,0:05:1);Z = griddata(数据集(:1),数据集(:,2),U(集群:),X, Y);冲浪(X, Y, Z)

图中包含一个坐标轴。轴包含一个类型为曲面的对象。

当你减少指数值时,集群成员从最大完全集群成员到零集群成员的转变更为陡峭;也就是说,集群边界变得更加清晰。

另请参阅

相关的话题