K-Means 算法

    在数据挖掘中, k-Means 算法是一种 cluster analysis 的算法,其主要是来计算数据汇集的算法,主要经过不断地取离种子点最近均值的算法。算法

    K-Means算法主要解决的问题以下图所示。咱们能够看到,在图的左边有一些点,咱们用肉眼能够看出来有四个点群,可是咱们怎么经过计算机程序找出这几个点群来呢?因而就出现了咱们的K-Means算法。spa

 

算法概要

这个算法其实很简单,以下图所示:

K-Means 算法概要

K-Means 算法概要ip

从上图中,咱们能够看到,A, B, C, D, E 是五个在图中点。而灰色的点是咱们的种子点,也就是咱们用来找点群的点。有两个种子点,因此K=2。get

而后,K-Means的算法以下:it

  1. 随机在图中取K(这里K=2)个种子点。
  2. 而后对图中的全部点求到这K个种子点的距离,假如点Pi离种子点Si最近,那么Pi属于Si点群。(上图中,咱们能够看到A,B属于上面的种子点,C,D,E属于下面中部的种子点)
  3. 接下来,咱们要移动种子点到属于他的“点群”的中心。(见图上的第三步)
  4. 而后重复第2)和第3)步,直到,种子点没有移动(咱们能够看到图中的第四步上面的种子点聚合了A,B,C,下面的种子点聚合了D,E)。

k-Means算法的缺点:数据挖掘

     K 是事先给定的,这个 K 值的选定是很是难以估计的。不少时候,事先并不知道给定的数据集应该分红多少个类别才最合适。io

    K-Means算法须要用初始随机种子点来搞,这个随机种子点过重要,不一样的随机种子点会有获得彻底不一样的结果。class

相关文章
相关标签/搜索