主要内容

虹膜数据的模糊C-均值聚类

此示例显示如何使用模糊C-means群集为IRIS数据集。这个数据集由博纳斯特·埃德加安德森收集,含有属于三种虹膜花的鲜花样本:刚毛versicolor弗吉尼亚州. 对于每个物种,数据集包含50个观察值,包括萼片长度、萼片宽度、花瓣长度和花瓣宽度。

加载数据

从中加载数据集Iris.dat.数据文件。

加载Iris.dat.

将数据分组为命名的三组刚毛versicolor弗吉尼亚州

setosaindex =虹膜(:,5)== 1;versicolorindex =虹膜(:,5)== 2;virginicaindex =虹膜(:,5)== 3;setosa =虹膜(setosaindex,:);versicolor =虹膜(versicolororIndex,:);弗吉尼察=虹膜(VirginicainDex,:);

绘制数据在2-D中

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

特征={'萼片长度''萼片宽度'......“花瓣长度”“花瓣宽度”}; 配对=[1 2;1 3;1 4;2 3;2 4;3 4];为了i = 1:6 x =对(i,1);Y =对(I,2);子图(2,3,i)绘图([setosa(:,x)versicolor(:,x)virginica(:,x)],......[setosa(:,y)versicolor(:,y)virginica(:,y)],'。')xlabel(特征{x})ylabel(特征{y})结尾

图包含6个轴对象。轴对象1包含3个类型线的对象。轴对象2包含3个类型线的对象。轴对象3包含类型线的3个对象。轴对象4包含3个类型线的对象。轴对象5包含3个类型的3个对象。轴对象6包含3个类型的线。

设置参数

指定使用模糊c均值聚类对数据进行聚类的选项。这些选项包括:

  • 数控- 簇数

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

  • maxiter.-最大迭代次数。在此迭代次数之后,集群过程停止。

  • 最小- 最低改进。当两个连续迭代之间的目标函数改进小于此值时,聚类过程停止。

Nc=3;M=2.0;最大值=100;最小值=1e-6;

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

计算群集

模糊c-均值聚类是一个迭代过程fcm函数生成一个随机模糊分区矩阵。此矩阵表示每个群集中每个数据点的成员资格的程度。

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

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

clusteringOptions = [m maxirs simeprove true];[中心,u] = FCM(IRIS,NC,ClusteringOptions);
迭代计数= 1,obj。FCN = 28838.424340迭代计数= 2,obj。FCN = 21010.880067迭代计数= 3,OBJ。FCN = 15272.280943迭代计数= 4,OBJ。FCN = 11029.756194迭代计数= 5,OBJ。FCN = 10550.015503迭代计数= 6,OBJ。FCN = 10301.776800迭代计数= 7,OBJ。FCN = 9283.793786迭代计数= 8,OBJ。FCN = 7344.379868迭代计数= 9,OBJ。FCN = 6575.117093迭代计数= 10,OBJ。 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子图(2,3,i)为了j = 1:nc x =对(i,1);Y =对(I,2);文本(中心(j,x),中心(j,y),Int2str(j),......'fontweight''胆大');结尾结尾

图包含6个轴对象。轴对象1包含6个类型线,文本的6个对象。轴对象2包含6个类型的线条,文本。轴对象3包含6个类型的类型,文本的6个对象。轴对象4包含6个类型的线,文本的6个对象。轴对象5包含6个类型的线条,文本。轴对象6包含6个类型的类型线,文本。

也可以看看

相关话题