isodata算法就是先拟定一个预期类,再选取一些聚类中心,通过不断合并或者分裂聚类,达到分类的目的
关键就是在于,如何分裂,合并
要合并或者分裂 必须要确定一些指标
所以第一步就是要确定 某些指标
1.设置参数,
a,确定样本 {xn} ,
b,设置一个预期的分类数C,
c,确定聚类中心的个数Nc,(Nc不一定要等于C)
d ,确定每一个类最少数目
e,每个类样本维度的分量维度的标准差
f,类间最小距离
g 合并分裂次数
2.观察样本点与拟定聚类中心的关系
样本点{Xn} 与聚类中心{Nc} 哪一个近就归为哪一类
3.分裂或者合并
分裂的条件:
a.类太少
b,类中样本的某一维度的标准差过大,即超过我设置的标准值
c 类内样本平均距离大于所有类平均距离 (你这个聚类 太分散了)
d 类中元素太多
合并条件:
a 一个类里面点太少.
b 两个类距离太近
c 类的数目太多
一次分裂或者合并不够,需要多次迭代才能得到较好结果
4.设置迭代循环条件
递归的方式重复步骤三
以上是通俗的话
用教材的原文是
不要在乎加加减减 你高兴你可以自己改参数