一、K-Means聚类算法
1、K-Means聚类算法介绍
1、算法接受参数k ;然后将事先输入的n个数据对象划分为k个聚类以便使得所获得的聚类满足∶同一聚类中的对象相似度较高;而不同聚类中的对象相似度较小。
2、算法思想:以空间中k个点为中心进行聚类,对最靠近他们的对象归类。通过迭代的方法,逐次更新各聚类中心的值,直至得到最好的聚类结果
2、K-Means聚类算法步骤
1、先从元素集合A中随机取k个元素,作为k个子集各自的重心。
2、分别计算剩下的元素到k个子集重心的距离,根据距离将这些元素分别划归到最近的子集。
3、根据聚类结果,重新计算重心(重心的计算方法是计算子集中所有元素各个维度的算数平均数)。 4、将集合A中全部元素按照新的重心再进行重新聚类。
5、重复第3、4步,直到聚类结果不再发生变化。
3、K-Means聚类算法实例
![](https://img-blog.csdnimg.cn/20210516155307618.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIwNzky,size_16,color_FFFFFF,t_70#pic_center)
![](https://img-blog.csdnimg.cn/20210516155341278.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIwNzky,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/2021051615542984.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIwNzky,size_16,color_FFFFFF,t_70)
![](https://img-blog.csdnimg.cn/20210516155500402.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQ1NzIwNzky,size_16,color_FFFFFF,t_70)
4、Spark机器学习库中K-Means聚类算法API
from pyspark.ml.clustering import KMeans
kmeans=