前两天帮别人写了个C聚类算法的JAVA实现
过程如下
1.将数据先按初始分类个数N按序均分为N个聚类
2.求出每个聚类的质心
3.然后将所有的数据一一按顺序取出与所有聚类的质心运算求差和,比如一个数据(Xn,Yn,Zn,。。。。。。)以及一个质心(Xm,Ym,Zm,。。。。。。),求出(Xn-Xm)^2+(Yn-Ym)^2+(Zn-Zm)^2+。。。。。。
4.找出与当前检验数据差和最小的聚类,将检验数据放入这个聚类
5.重新计算每个聚类的质心,从第3步重复
6.将所有数据检验完毕以后求Je,然后从第2步重复,又可得出一个Je值,一直运算到前后两次Je值没有变化即可得到C聚类算法的数据分类。Je是每个数据与自己当前所处聚类的质心的差和之和
JAVA代码放在了我主页,地址为:http://njchenyi.googlepages.com/Cindy.rar