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

机器学习之聚类算法(CANOPY)

2015-10-20 15:16 281 查看
参考:http://chiffon.gitcafe.io/2014/12/28/cluster-analysis.html

CANOPY是另外一个不需要指定K的聚类算法,它的速度很快,不过由于它分类比较粗,因此一般用于在K-Means之前用于确定K的值提供参考。

CANOPY算法分为两大步:

生成canopy

设定T1(松阈值)>T2(紧阈值)

将需要聚类的数据转化为一个list的形式

将list中的第一个点从list中删去,转化为一个新的’canopy’的中心.

对于每个list中的点,将距离在T1以内的点当作这个’canopy’内的点.

对于每个list中的点,将距离在T2以内的点从list中删去.

重复步骤3、4、5

canopy内聚类

有了上面的canopy,可以在各自的canopy内进行聚类计算。聚类算法可以是常用的kmeans,也可以是其他算法。因此,可以讲CANOPY看做是一种算法框架。

问题

上面有一个问题,T1和T2需要用户手动设置,不同的设置可能有不同的聚类结果

对于canopy,若第一步将阈值设置非常大,那么最后只能生成一个canopy,然后在这个canopy内进行聚类。只有T1和T2有意义才能生成超过1个canopy,从而在第二步计算距离时只需要计算同一canopy的距离,从而减少计算量。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  机器学习