主要内容

模糊c均值聚类

这个例子展示了如何对二维数据进行模糊c均值聚类。集群高维数据的一个例子,看到Iris数据的模糊c均值聚类

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

fcm函数执行FCM聚类。它始于一个随机的初始猜测集群中心;每个集群的平均位置。接下来,fcm分配每一个数据点为每个集群随机会员级别。通过迭代更新集群中心和会员等级为每个数据点,fcm集群中心移动到正确的位置在一个数据集,对于每一个数据点,发现每个集群的隶属程度。这个迭代的最小化目标函数表示的距离给定数据点到一个集群中心加权的会员,集群中的数据点。

加载数据

加载5样本数据集,选择一个数据集集群。这些数据集有不同数量的集群和数据分布。

负载fcmdata数据集=fcmdata3;

每个数据集包含两列,表示每个数据点的两个特点。

指定FCM设置

配置聚类算法设置。这些设置的更多信息,请参阅fcmOptions。为每个数据集获取准确的聚类结果,尝试不同的集群选项。

指定集群的数量来计算,这必须大于1

数控=4;

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

经验值=2;

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

麦克斯特=One hundred.;

指定最低的改善之间的目标函数连续的迭代。当目标函数值低于这个阈值提高,优化停止。一个较小的值产生更精确的聚类结果,但集群可以收敛的时间较长。

minImprove =0.00001;

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

displayObjective =;

在计算过程中指定要使用的距离度量。您可以选择欧几里得或距离度量。

distMetric =“欧几里得”;

创建一个fcmOptions对象使用这些设置。

选择= fcmOptions (NumClusters =数控,指数=实验,MaxNumIteration =麦克斯特,MinImprovement = minImprove,Verbose = displayObjective,DistanceMetric = distMetric);

集群的数据

集群的数据到指定数量的集群。

[C U] = fcm(数据集,选择);

C包含每个集群的计算中心。U包含模糊划分矩阵计算,这表明每一个数据点的隶属程度在每个集群。

将每个数据点到集群的隶属程度最高。

maxU = max (U);指数=细胞(数控,1);i = 1:数控指数{我}=找到(U(我:)= = maxU);结束

图聚类结果

图聚类的结果。

图保存i = 1:数控情节(数据集(指数{我},1),数据集(指数{我},2),“o”)情节(C(我,1),C(我,2),“xk”MarkerSize = 15,线宽= 3)结束包含(”功能1”)ylabel (“功能2”)举行

图包含一个坐标轴对象。坐标轴对象包含功能1、ylabel特性2包含8线类型的对象。一个或多个行显示的值只使用标记

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

图数据成员的值

选择一个集群的隶属函数的表面。

集群=2;

获取选中的集群的隶属函数拟合表面所有数据点的集群成员值。插值分散三维数据的更多信息,请参阅griddata

(X, Y) = meshgrid (0:0.05:1 0:0.05:1);Z = griddata(数据集(:1),数据集(:,2),U(集群:),X, Y);冲浪(X, Y, Z)包含(”功能1”)ylabel (“功能2”)zlabel (“会员”)

图包含一个坐标轴对象。坐标轴对象包含功能1、ylabel特性2包含一个类型的对象表面。

当你降低指数价值,从最大限度的集群成员过渡到零集群成员变得更加陡峭;也就是说,集群边界变得更加清晰。

另请参阅

|

相关的话题