一、 实验介绍
ISODATA算法的全称是Iterative Self-Organizing Data Analysis Techniques Algorithm,中文译名为“迭代自组织的数据分析算法”。ISODATA算法的特点是可以通过类的自动合并(两类合一)与分裂(一类分为二),得到较合理的类型数目c;属于动态聚类算法,相较于传统的C-均值聚类,类型数目可变,但也较为复杂。
IRIS数据是由鸢尾属植物的三种单独的花的测量结果所组成,模式类别数为3,特征维数是4,每类各有50个模式样本,总共有150个样本。
本次实验将IRIS数据的150个样本看做混合样本,使用ISODATA聚类算法对其进行聚类分析,实验所使用的的软件为Matlab R2016a。
一、 算法原理
ISODATA聚类算法在别的博客已经很清楚了,这里不再赘述。其中涉及到的参数如下:
给定控制参数:
k:预期的聚类中心数目;
qn:每一聚类中最少的样本数目,如果少于此数就不能作为一个独立的聚类;
qs:一个聚类域中样本距离分布的标准差(阈值);
qc:两个聚类中心之间的最小距离,如果小于此数,两个聚类合并;
L:每次迭代允许合并的最大聚类对数目;
I:允许的最多迭代次数;
<