Canopy算法:基于多维空间点集,基于距离,粗略快速地实现聚类,指定两个距离T1、T2,T1>T2,粗略地输出有几个聚类,其中每个聚类以T2为半径,每个点至少属于一个聚类。
我们把聚类叫作canopy。
比较完整的算法表述:
while(点集不为空){
随机选择一个点作为一个Canopy,点集删去这个点;
for(点集中每个点){
for(每个canopy){
if(这个点到canopy的距离小于T2){删去这个点,加入到这个canopy中;break;}
else if(这个点到canopy的距离小于T1)做个标记即可;
}
这点没有标记,删去这个点,自己成为一个canopy;
}
}
看了好多资料,终于明白这算法的意思了,自己表述一遍以表哀思。