DBSCAN聚类算法
DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种基于密度的空间聚类算法。
1.基本概念
- 核心对象:若某个点的密度达到算法设定的阈值则其为核心点。(即r的 ϵ \epsilon ϵ邻域内点的数量不小于minPts )。其中minPts是自己设定的点的个数,即以r为圆心的圆包含的点的个数大于minPts,那么它就是一个核心对象
- ϵ \epsilon ϵ-邻域的距离阈值∶设定的半径ε。
- 直接密度可达︰若某点p在点q的 ϵ \epsilon ϵ邻域内,且q是核心点,则 p → q p \rightarrow q p→q直接密度可达。可以理解为p在核心点q的圆内。
- 密度可达∶若有一个关于点的序列 q 0 , q 1 , … , q k q_0,q_1,\dots,q_k q0,q1,…,qk,若 i ∈ [ 1 , k ] , q i − 1 → q i i \in [1,k], q_{i-1} \rightarrow q_{i} i∈[1,k],qi−1→q

DBSCAN是一种基于密度的空间聚类算法,适用于发现任意形状的聚类。算法主要参数为半径ε和最小点数minPts,通过核心对象、边界点和噪声点的概念进行聚类。在Python中实现DBSCAN时,需要计算欧氏距离,并找到邻域内的点。该算法优点是不需要预设簇的数量,适合异常值检测,但参数选择和高维数据处理是挑战。博客提供了Python代码示例,并对比了sklearn库的DBSCAN性能。
最低0.47元/天 解锁文章
7817

被折叠的 条评论
为什么被折叠?



