关于K-means算法,其宗旨是“物以类聚”,利用 皮尔逊相关系数 判断哪个“物”与哪个“类”接近,与分级聚类不同,K-means 还有均值调整,即是,每次聚类后,把聚类的点移至各点的中心。。

算法的实现思想,首先,当然找到一组数据用于聚类。。。然后全局查找数据内的最大值和最小值(这样不会使得随机创建的K值偏离太大)。。。第三部就是,利用最大最小值来随机制造N的K值(这里的N看你想分多少个类,纯属由需求决定)。。。

完成上面步骤后,进入聚类循环。。。这里难以用文字表达,所以用程序语言+表达性语言表达。。

while(TRUE){

循环把K值与所有数据元素比较,求得距离最小值,把该元素添加进对于的K数组队列

如果队列没有发生变化,则退出

否则,把K值移动至所有成员的平均位置处(即每个属性都是所有成员该属性的平均值)

}