密度聚类之DBSCAN及Python实现

本文详细介绍了基于密度的聚类算法DBSCAN,包括其基本概念、例子、思想、算法流程,并提供了Python实现及scikit-learn库的应用。DBSCAN能够发现任意形状的簇,对异常点不敏感,但对参数选择敏感,适用于密度不均匀的数据集。
摘要由CSDN通过智能技术生成

密度聚类

密度聚类,即基于密度的聚类(density-based clustering),此类算法假设聚类结构能通过样本分布的紧密程度确定。前面所讲的原型聚类及层次聚类等都是把距离(欧式距离,闵科夫斯基距离,曼哈顿距离等)作为两个样本或者两个簇之间相似度的评价指标,因此导致了最终聚类结构大都是球状簇或者凸形集合,对任意形状的聚类簇比较吃力,同时对噪声数据不敏感,而基于密度的聚类算法可以发现任意形状的聚类,且对带有噪音点的数据起着重要的作用。

DBSCAN

DBSCAN(Density-Based Spatial Clustering of Application with Noise)是一种典型的基于密度的聚类算法,能够将足够高密度的区域划分成簇,并能在具有噪声的空间数据库中发现任意形状的簇。它是基于一组“邻域”(neighborhood)参数 (ϵ,MinPts) ( ϵ , M i n P t s ) 来刻画样本分布的紧密程度。

概念

给定数据集 D={ x1,x2,...,xm} D = { x 1 , x 2 , . . . , x m } ,定义下面这几个概念:

  • ϵ ϵ -邻域:对 xjD x j ∈ D ,其 ϵ ϵ -邻域包含样本集 D D 中与 x j 的距离不大于 ϵ ϵ 的样本,即 Nϵ(xj)={ xiD|dist(xi,xj)ϵ} N ϵ ( x j ) = { x i ∈ D | d i s t ( x i , x j ) ≤ ϵ } ,这个子样本集的个数记为 |Nϵ(xj)| | N ϵ ( x j ) | ;
  • 核心对象(core object):若 xj x j ϵ ϵ -领域至少包含 MinPts M i n P t s 个样本,即 |Nϵ(xj)|Mi
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值