K-means、SLC、EM

http://www.naftaliharris.com/blog/visualizing-k-means-clustering/

一片不错的博文:http://coolshell.cn/articles/7779.html

K-means算法如下:

  1. 随机在图中取k个种子点
  2. 然后对图中所有点求到这k个种子点的距离,择最短归并
  3. 移动种子点到属于他的点群的中心
  4. 然后重复步骤2和步骤3,直到种子点没有移动

K-Means主要有两个最重大的缺陷:

  k是事先给定的,然而K 值的选定是非常难以估计的,因为很多时候,事先并不知道给定的数据集应该分成多少个类别才最合适( ISODATA 算法通过类的自动合并和分裂,得到较为合理的类型数目 K)

  不同的随机种子点会有得到完全不同的结果(K-Means++算法可以用来解决这个问题,其可以有效地选择初始点)

在大数据量下计算时间过长

当样本量大于1万做聚类时,就需要考虑选用Mini Batch KMeans算法

Mini Batch KMeans是一种能尽量保持聚类准确性下但能大幅度降低计算时间的聚类模型。

posted @ 2016-06-01 13:30  python挖掘  阅读(238)  评论(0编辑  收藏  举报