密度聚类(Density peaks Clustering)Python实现

本文介绍了基于密度的聚类方法——密度峰值聚类(Density peaks Clustering)的Python实现。通过计算样本间的距离,选取密度高且与其他点距离远的点作为聚类中心。算法包括计算距离、密度和最小距离,最终确定聚类中心。作者分享了实验代码并提供了效果展示,适合学习和参考。
摘要由CSDN通过智能技术生成

Rodriguez A, Laio A. Clustering by fast search and find of density peaks[J]. Science, 2014, 344(6191): 1492-1496.

这是朋友推荐给我的一篇文章,大体的思想是:通过计算全局(当然也可以优化到局部)所有Sample相互之间的距离,并对某个Sample与其他所有点之间的距离进行排序,通过一个threshold对距离进行分割获取有效后,根据该Sample有效距离内的其他Sample的数量来推算该点的密度,再计算低密度点到高密度点的最小距离(最高密度点取最大距离),通过密度和最小距离这两个参数构建直角坐标系,在这个直角坐标系中最右上角的点即聚类中心点。(这一块的理论可以参考http://blog.csdn.net/itplus/article/details/38926837的文章,他讲得很详细,我这里只是大概描述一下这个算法的流程)

其实原来打算用在自己的实验中的,结果发现效果并不是我所需要的,所以这里我就公开一下python实现的代码,供大家参考,如果有不足请一定指出,共同学习进步。

先上效果图一张(上图是Sample分布图,下图则是密度-距离图):

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值