1.KMeans概念
KMeans基于划分的聚类方法。给定数据样本集Sample和应该划分的类书K,对样本数据Sample进行聚类,最终形成K个聚类,其相似的度量是某条数据与中心点的“距离”(距离可分为绝对距离、欧氏距离、闵可夫斯基距离。这里说的距离是欧式距离,欧氏距离也称欧几里得距离,它是在m维空间中两个点之间的真实距离)。
2.KMeans算法实例操作
2.1 数据准备
从官网下载源码时在data文件夹下有mllib文件夹,里面有kmeans_data.txt,内容为:
0.0 0.0 0.0
0.1 0.1 0.1
0.2 0.2 0.2
9.0 9.0 9.0
9.1 9.1 9.1
9.2 9.2 9.2
2.2实现思路
1.设置运行环境;
2.装载kmeans_data.txt数据集;
3.将数据集聚类(聚成2个类),进行20次迭代计算,形成数据模型;
4.在控制台打印数据模型的两个中心点;
5.使用误差平方和评估数据模型;
6.交叉评估1,只返回结果;
7.交叉评估2,返回数据集和结果。
3.用代码说话
1.设置运行环境
val conf = new SparkConf().setAppName("Kmeans").setMaster("local")
val sc = new SparkContext(conf)
2.装载数据集