基本概念

  • 核心点:若某个点的密度达到算法设定的阈值,即ε-邻域内点的数量(包括自己)不小于minPts,则该点为核心点。

  • 边界点:在ε-邻域内点的数量小于minPts,但是落在核心点邻域内的点。

  • 噪声点:不属于任何一个簇的点,从任何一个核心点出发都是密度不可达的。

  • ε-邻域:设定的半径r。

  • 直接密度可达:若某点p在点q的r邻域内,且q是核心点,则称p从q出发是直接密度可达的。

  • 密度可达:若有一个点的序列q0、q1...qk,对任意q0-qi-qk是直接密度可达的,则称从q0到qk密度可达,这实际上是直接密度可达的传播。

  • 密度相连:若从某核心点p出发,点q和点k都是密度可达的,则称点q和点k是密度相连的。

如果p是核心点,则它与所有由它可达的点(包括核心点和边界点)形成一个簇,每个簇拥有最少一个核心点,边界点也可以是簇的一部分,但它在簇的边缘位置,因为它不能到达更多的点。在DBSCAN里,簇可以理解为被低密度区域分隔开的稠密对象区域,DBSCAN将具有足够高密度的区域划分为簇,并在具有噪声的空间数据中发现任意形状的簇。

执行过程

DBSCAN通过检查空间数据中每点的邻域来搜索簇。

如果点p的邻域包含的点多于minPts,则创建一个以p为核心点的新簇,然后,DBSCAN迭代地聚集从这些核心点密度可达的对象,这个过程可能涉及一些密度可达簇的合并,当没有新的点可以添加到任何簇时,该过程结束。

具体步骤

  • 根据ϵ寻找每个点的邻域,找出核心点;
  • 对于每一个核心点,如果这个核心点未被分配到某一个簇时,创建一个新的簇;
  • 寻找这个核心点所有邻域点,并循环寻找这些邻域点相应的邻域点,将所有这些点分配到同一个簇;
  • 重复以上三步,直到左右核心点都被分配。对于不属于任何簇的点即为噪声点。

参数选择

半径r:根据k距离来设定。

首先选中一个点,计算它和所有其它点的距离,从小到大排序为d1、d2、d3...,假如d3和d4之间的差异很大,就可以认为d1到d3之间的距离是合适的,将其设为半径。

minPts:一般可通过多次尝试设置。

优缺点

优点

  • 不需要指定簇个数;

  • 可以发现任意形状的簇;

  • 擅长找到离群点(检测任务);

  • 仅需两个参数。

缺点

  • 不适用于高维数据;

  • 参数对结果影响非常大;

  • sklearn中效率很慢(可以应用数据削减策略)。

算法可视化演示

DBSCAN的可视化演示

最新文章

  1. Ubuntu(Linux系统)虚拟机工具vmtools详细说明
  2. centos6.3环境下升级python及MySQLdb的安装
  3. spark 获取applicationID
  4. 【转】Android M新控件之FloatingActionButton,TextInputLayout,Snackbar,TabLayout的使用
  5. IIS7 发现无法显示ewebeditor编辑器成空白
  6. css样式之背景图片
  7. Spark Streaming与kafka整合实践之WordCount
  8. EditPlus 3设置字体大小
  9. Chapter 1 First Sight——4
  10. span表情输入框 --- Author: rose && lvyerose@163.com
  11. php基础知识(二)---2017-04-14
  12. 201521123095 《Java程序设计》第6周学习总结
  13. AndroidStudio中各种常见快捷键记录
  14. spring-boot 速成(3) actuator
  15. 编写高质量JavaScript代码的68个有效方法
  16. 如何使用iOS 开发证书 和 Profile 文件
  17. python的if判断补充
  18. Java并发编程系列一:Future和CompletableFuture解析与使用
  19. [Go语言]从Docker源码学习Go——function和method
  20. Sybase:delete与truncate、drop区别

热门文章

  1. .NET 7 AOT 的使用以及 .NET 与 Go 互相调用
  2. Day09:switch——case结构的使用详解
  3. tools2
  4. 什么是 X.509 证书以及它是如何工作的?
  5. JAVA缓存规范 —— 虽迟但到的JCache API与天生不俗的Spring Cache
  6. Linux *.service文件详解
  7. 为什么你的static_assert不能按预期的工作?
  8. win7修改开机动画
  9. 关于CSDN发布博客接口的研究
  10. 第2-4-6章 springboot整合规则引擎Drools-业务规则管理系统-组件化-中台