方法:KMeans()
/ **
*此示例实现了基本的K-Means聚类算法。
*
* K-Means是一种迭代聚类算法,其工作原理如下:
* K-Means被赋予一组要聚类的数据点和一组初始的''K''聚类
*中心。
*在每次迭代中,算法计算每个数据点到每个聚类中心的距离。
*每个点都分配给最靠近它的集群中心。
*随后,每个聚类中心都移动到所有点的中心(“均值”)
*被分配给它。
*移动的聚类中心被送入下一次迭代。
*算法在固定次数的迭代后终止(如本实现中所示)
*或者如果聚类中心没有(显着地)在迭代中移动。
*这是[[http://en.wikipedia]的维基百科条目
* .org / wiki / K-means_clustering K-Means聚类算法]]。
*
*此实现适用于二维数据点。
*它计算到集群中心的数据点分配,即
*每个数据点都使用它所属的最终聚类(中心)的ID进行注释。
*
*输入文件是纯文本文件,必须格式如下:
*
* - 数据点表示为由空白字符分隔的两个双精度值。
*数据点由换行符分隔。
*例如`“1.2 2.3 \ n5.3 7.2 \ n”`给出两个数据点(x = 1.2,y = 2.3)和(x = 5.3,
* y = 7.2)。
* - 聚类中心由整数id和点值表示。
*例如`“1 6.2 3.2 \ n2 2.9 5.7 \ n”`给出两个中心(id = 1,x = 6.2,
* y = 3.2)和(id = 2,x = 2.9,y = 5.7)。
*
*用法:
* {{{
* KMeans - points <path> --centroids <path> --output <path> --iterations <n>
*}}}
*如果未提供参数,则使用默认数据运行程序
* [[org.apache.flink.examples.java.clustering.util.KMeansData]]
*和10次迭代。
*
*此示例显示如何使用:
*
* - 批量迭代
* - 批量迭代中的广播变量
* - Scala案例类
* /