更多数据挖掘算法:https://github.com/linyiqun/DataMiningAlgorithm
算法介绍
K-Means又名为K均值算法,他是一个聚类算法,这里的K就是聚簇中心的个数,代表数据中存在多少数据簇。K-Means在聚类算法中算是非常简单的一个算法了。有点类似于KNN算法,都用到了距离矢量度量,用欧式距离作为小分类的标准。
算法步骤
(1)、设定数字k,从n个初始数据中随机的设置k个点为聚类中心点。
(2)、针对n个点的每个数据点,遍历计算到k个聚类中心点的距离,最后按照离哪个中心点最近,就划分到那个类别中。
(3)、对每个已经划分好类别的n个点,对同个类别的点求均值,作为此类别新的中心点。
(4)、循环(2),(3)直到最终中心点收敛。
以上的计算过程将会在下面我的程序实现中有所体现。
算法的代码实现
输入数据:
3 3
4 10
9 6
14 8
18 11
21 7
主实现类:
package DataMining_KMeans;
import java.io.BufferedReade