Clustering by fast search and find of density peaks

来源:互联网 发布:杭州地税网络申报流程 编辑:程序博客网 时间:2024/06/10 01:31

近期要研究聚类算法,便把sci14年的那篇找了出来,实现了一遍,并且进行了优缺点的总结和改进。附代码,详细叙述如下。

sci14年发表的聚类算法是一篇经典的算法,它的主要思想是:在聚类中,类中心往往是密度较大,而且离其他类中心较远的点。先通过找到类中心,再将其他点归并到最近的类中心即可。

它寻找类中心主要是求两个值:密度阈值rou和中心点的距离deta,求得方法可根据论文提示中来。求出那两个参数后,选出rou和deta都大的点作为聚类中心(也就是坐标轴右侧的点,一般可选rou*deta较大的点作为聚类中心)


优缺点

它的优点显而易见,思想简单,编程实现容易,有说服力。但也存在着缺点:1.两两之间求聚离,时间复杂度为o(n2),不适合点数较多的计算;2.画圈半径dc的选取,文中提到的是能够圈住总点数的1%~2%的值作为半径,这是一个经验值,没有理论支撑;3.对一些非凸的图形,聚类效果不好。

总结

聚类算法各有优缺点 ,没有哪一种算法能适合所有数据集,我们能做的,就是先分析数据集具有什么特性,根据它的特性,选择最合适的算法。

3 0