我想在Java中实现k-means算法的现代版本。该算法每次动态添加一个聚类中心,直到聚类数值达到k。
对于k = 1,它找到整个数据集的一个聚类中心。对于k = 2,它采用第一个初始质心,其中k = 1,并且它在整个现有数据值中搜索第二个质心。因此,对于k = n,它具有n-1个初始质心并且它搜索第n个质心。
该算法的研究论文可在以下网址找到: http://www.cs.uoi.gr/~arly/papers/PR2003.pdf
我指的是基本的k-means算法代码: http://www.dataonfocus.com/k-means-clustering-java-code/
如何修改这个基本的k-means算法代码以获得现代k-means解决方案? 我尝试使用递归函数,但我不知道如何在下一次迭代中保留先前的聚类质心并将它们视为初始质心。
提前致谢。