iso data 聚类算法

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.设置迭代循环条件

递归的方式重复步骤三

 

 

以上是通俗的话

用教材的原文是

不要在乎加加减减 你高兴你可以自己改参数

posted @ 2019-03-29 02:24  丹心静居  阅读(1111)  评论(0编辑  收藏  举报