主要内容

虹膜数据的模糊c均值聚类

这个例子展示了如何使用模糊c均值聚类虹膜数据集。这个数据集是由植物学家埃德加·安德森收集的,包含了三种鸢尾花的随机样本:setosa多色的,virginica.对于每个物种,数据集包含50个萼片长度,萼片宽度,花瓣长度和花瓣宽度的观察值。

加载数据

控件加载数据集iris.dat数据文件。

负载iris.dat

将数据分成三组setosa多色的,virginica

setosaIndex =虹膜(:,5)= = 1;versicolorIndex =虹膜(:,5)= = 2;virginicaIndex =虹膜(:,5)= = 3;setosa =虹膜(setosaIndex:);杂色的=虹膜(versicolorIndex:);virginica =虹膜(virginicaIndex:);

在二维中绘制数据

虹膜数据包含四个维度代表萼片长度,萼片宽度,花瓣长度和花瓣宽度。绘制每个二维组合的数据点。

特点= {“花萼长度”萼片宽的“花瓣长度”“花瓣宽度”};Pairs = [1 2;1 3;1 - 4;2 3;2 - 4;3 4];I = 1:6 x = pairs(I,1);(y =对我,2);次要情节(2、3、我)情节([setosa (:, x)多色的(:,x) virginica (:, x)),...[setosa (:, y)多色的(:,y) virginica (:, y)],“。”{x})包含(特征)ylabel(特征{y})结束

图中包含6个轴。axis 1包含3个类型为line的对象。axis 2包含3个类型为line的对象。axis 3包含3个类型为line的对象。axis 4包含3个类型为line的对象。axis 5包含3个类型为line的对象。axis 6包含3个类型为line的对象。

设置参数

指定使用模糊c均值聚类来聚类数据的选项。这些选项有:

  • 数控—集群数量

  • M -模糊划分矩阵指数,表示聚类之间的模糊重叠程度。有关更多信息,请参见模糊c均值聚类中的模糊重叠调整

  • 麦克斯特—最大迭代次数。在此次数的迭代之后,集群过程停止。

  • minImprove——最小的改进。当连续两次迭代之间的目标函数改进小于该值时,聚类过程停止。

数控= 3;M = 2.0;麦克斯特= 100;minImprove = 1 e-6;

有关这些选项和模糊c均值算法的更多信息,请参见fcm

计算集群

模糊c均值聚类是一个迭代过程。最初,fcm函数生成一个随机模糊划分矩阵。这个矩阵表示每个聚类中每个数据点的隶属度。

在每次聚类迭代中,fcm计算聚类中心并使用计算出的中心位置更新模糊划分矩阵。然后计算目标函数值。

对数据进行聚类,每次迭代后显示目标函数值。

clusteringOptions = [M maxIter minImprove true];(中心、U) = fcm(数控虹膜clusteringOptions);
迭代计数= 1,obj。fcn = 28838.424340迭代计数= 2,obj。fcn = 21010.880067迭代计数= 3,obj. fcn = 21010.880067fcn = 15272.280943 Iteration count = 4, obj. php . php . php . php . php . php。fcn = 11029.756194迭代计数= 5,obj。fcn = 10550.015503迭代计数= 6,obj。fcn = 10301.776800迭代计数= 7,obj。fcn = 9283.793786 Iteration count = 8, obj. fcn = 9283.793786fcn = 7344.379868迭代计数= 9,obj. fcn = 7344.379868fcn = 6575.117093 fcn = 6295.215539 Iteration count = 11, obj. fcn = 6167.772051 Iteration count = 12, obj. fcn = 6107.998500 Iteration count = 13, obj. fcn = 6080.461019 Iteration count = 14, obj. fcn = 6068.116247 Iteration count = 15, obj. fcn = 6062.713326 Iteration count = 16, obj. fcn = 6060.390433 Iteration count = 17, obj. fcn = 6059.403978 Iteration count = 18, obj. fcn = 6058.988494 Iteration count = 19, obj. fcn = 6058.814438 Iteration count = 20, obj. fcn = 6058.741777 Iteration count = 21, obj. fcn = 6058.711512 Iteration count = 22, obj. fcn = 6058.698925 Iteration count = 23, obj. fcn = 6058.693695 Iteration count = 24, obj. fcn = 6058.691523 Iteration count = 25, obj. fcn = 6058.690622 Iteration count = 26, obj. fcn = 6058.690247 Iteration count = 27, obj. fcn = 6058.690092 Iteration count = 28, obj. fcn = 6058.690028 Iteration count = 29, obj. fcn = 6058.690001 Iteration count = 30, obj. fcn = 6058.689990 Iteration count = 31, obj. fcn = 6058.689985 Iteration count = 32, obj. fcn = 6058.689983 Iteration count = 33, obj. fcn = 6058.689983

当目标函数改进小于指定的最小阈值时,停止聚类。

用粗体标出计算出来的集群中心。

I = 1:6 subplot(2,3, I);j = 1:Nc x = pairs(i,1);(y =对我,2);文本(中心(j, x)中心(j, y) int2str (j),“FontWeight”“大胆”);结束结束

图中包含6个轴。axis 1包含6个类型为line, text的对象。axis 2包含6个类型为line, text的对象。axis 3包含6个类型为line, text的对象。axis 4包含6个类型为line, text的对象。axis 5包含6个类型为line, text的对象。axis 6包含6个类型为line, text的对象。

另请参阅

相关的话题