Canopy Clustering(Canopy聚类)


Canopy Clustering

Canopy算法是基于Kmeans算法的一种优化的聚类方法。

优化体现在:

1.前期能通过一些低性能的算法,快速的获取聚类中心

2.分好的每个聚类内部在进行k-means计算(不同聚类之间不进行相似度计算)

实现原理:(借助网上的一张截图)

Canopy Clustering(Canopy聚类)

算法步骤:

  (1 ) 将数据集向量化,然后放到list集合中,同时设定两个距离阈(yu)值:T1和T2

  (2)循环从list中去取一个,作为一个聚类中心,放到centerlist中,并从list中移除该点

  (3)循环从centerlist中 比较 与周围的点于阈(yu)值之间的关系,小于最小T1阈值,说明两个值相似,放到一个聚类中,并从list中移除;如果大于最大阈值T2,那么就单独作为一个聚类中心,并从list中移除;否则在T1和T2之间就不分别加到各个聚类中心去,但依然保留在list中

  (4)迭代2~3步直至list中元素为null,算法结束。


伪代码:(借鉴于炼数成金)

Canopy Clustering(Canopy聚类)



Canopy算法的优缺点:

1.不需要事先指定k值(即clustering的个数)

2.精度较低,但其速度上有很大的优势

3.前期可以使用Canopy聚类先对数据进行“粗”聚类,得到k值后再使用K-means进行进一步的“细”聚类




你可能感兴趣的:(CANOPY)