您的位置:首页 > 运维架构

聚类 - 6 - Canopy聚类

2016-07-20 14:42 281 查看
         本总结是是个人为防止遗忘而作,不得转载和商用。

 

Canopy算法

         虽然Canopy算法可以划归为聚类算法,但更多的可以使用Canopy算法做空间索引,其时空复杂度都很出色。

算法描述

         1,对于给定样本x1,x2, ..., xm,给定先验值 r1, r2,,(r1<r2)

         2,x1, x2, ...,xm形成列表L;构造 xj(1≤j≤m) 的空列表Cj;

         3,随机选择L中的样本c,要求c的列表 为空:

         4,计算L中样本 xj 与c的距离dj

                   若 dj < r1,则在L中删除 Xj,将 Cj赋值为{c},即认为Xj的聚类中心就是c了。

                   若 r1 < dj< r2 ,则将 Cj 增加{c},即c是xj的聚类中心的候选。

         5,重复第三步和第四步,若L中没有不满足条件的样本c,算法结束。

算法解释

         Canopy实际上就是以样本C为中心,分别以r1和r2为半径画了两个圆,如下图:

                 


         凡是位于r1圆内的样本点,都被C给吸住了,不能属于其他簇。而位于r2环形带中的样本可以属于簇c,但也可以属于其他簇。

代码(源自邹博老师)



         于是可以看到,有的样本属于多个簇。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习 算法