Kmeans聚类算法实现(输出聚类过程,分布图展示)

Kmeans聚类算法实现(输出聚类过程,分布图展示)

   Kmeans聚类算法是聚类算法中最基础最常用的聚类算法,算法很简单,主要是将距离最近的点聚到一起,不断遍历点与簇中心的距离,并不断修正簇中心的位置与簇中的点集合,通过最近距离和遍历次数来控制输出最终的结果。初始的簇中心、遍历次数、最小距离会影响最终的结果。具体的聚类算法过程不详细讲解,网上资料很多,本文主要是java语言实现,1000个点(本文是二维向量,也可以是多维,实现原理和程序一样),程序运行过程中会输出每一次遍历点的簇中心,和簇中包含的点,并将最终结果通过插件在html中显示。

一、Kmeans聚类算法实现步骤

1、将本地文件读取到点集合中:


Kmeans聚类算法实现(输出聚类过程,分布图展示)_第1张图片

2、从点集合中随机选取K个簇中心(也可以采取其他方法获取,后续讲解,初始簇中心的选择会影响最终聚类结果):


Kmeans聚类算法实现(输出聚类过程,分布图展示)_第2张图片

3、Kmeans聚类。Kmeans聚类的实现主要是通过遍历所有点与簇中心的距离,不断更换簇中心并将点存入距离最近的簇中,距离的计算公式有多种,常用的是欧几里得距离算法。

二、Kmeans聚类算法实现结果

1、运算过程:


Kmeans聚类算法实现(输出聚类过程,分布图展示)_第3张图片
Kmeans聚类算法实现(输出聚类过程,分布图展示)_第4张图片

2、分布图:


Kmeans聚类算法实现(输出聚类过程,分布图展示)_第5张图片
Kmeans聚类算法实现(输出聚类过程,分布图展示)_第6张图片

需要源代码的朋友可联系我们。

你可能感兴趣的:(Kmeans聚类算法实现(输出聚类过程,分布图展示))