聚类方法之DBSCAN
来源:互联网 发布:淘宝旺旺名称怎么修改 编辑:程序博客网 时间:2024/06/05 05:49
算法思想
DBSCAN是一种基于密度的聚类方法,其思想是根据样本间的紧密程度来对簇进行划分。
DBSCAN的样本点一般被分为三类:
1.核心点:
在半径Eps内含有超过MinPts数目的点
2.边界点:
在半径Eps内含有的点不超过MinPts,但是落在核心点领域内的点
3.噪声点:
既不是核心点也不是噪声点的点。
这里有两个参数需要人为指定:半径长度Eps 和 点的数据MinPts
如图所示,绿色的为核心点,蓝色的为边界点,红色的为噪声点。
关于样本点构成的一些其他概念:
1.Eps邻域
假设样本点p在数据集内,Eps领域即指的是数据集中离样本p的距离小于等于Eps的样本点的集合。
2.密度直达
假设有样本点p,q。其中p是核心点,q在p的Eps邻域内,则p,q密度直达。
3.密度可达
对于对象链:p_1,p_2……p_n,p_(i+1),是从p_i关于Eps和MinPts直接密度可达的,则对象p_n是从对象p_i关于Eps和MinPts密度可达的。
4.密度相连
对于样本点p、q,若存在样本点k使得p、q均由k密度可达,则称p,q密度相连
如上图所示,虚线表示的是Eps邻域,x_1和x_2为密度直达,x_1与x_3为密度可达,x_1与x_4为密度相连。
关于DBSCAN的概念解释到这里,弄懂以上概念,DBSCAN的聚类原理也就显而易见了,即:
1.找寻数据集中的核心点,形成集合 Ω
2.while Ω != null:
a.从Ω中任意选取核心点,并以此核心点找寻最大的密度可达,形成一个簇
b.将在该簇的核心点从Ω中清除
如此,聚类完成。
DBSCAN聚类算法流程图如下:
总结
优点:
1.不用人为设定簇的个数
2.对数据集的噪音不敏感
3.能发现任意形状的空间聚类,如能识别“非球形”的簇,而k-均值这种基于距离的聚类方法只能找出球状的簇。
4.聚类结果几乎不依赖节点的遍历顺序
缺点:
1.在大数据集下的I/O开销大
2.当空间聚类不均匀、聚类间差距很大时,DBSCAN效果很差
参考
周志华:《机器学习》
id786 ———– kmean法和dbscan法的直观比较
简单易学的机器学习算法——基于密度的聚类算法DBSCAN
聚类算法初探(五)DBSCAN
- 聚类方法之DBSCAN
- 聚类之DBSCAN学习
- 聚类算法之DBScan(Java实现)
- 聚类算法之DBScan(Java实现)
- 聚类算法之DBScan(Java实现)
- 聚类算法之DBScan(C++)
- 聚类算法之DBSCAN(具有噪声的基于密度的聚类方法)
- 聚类方法:DBSCAN算法研究(1)--DBSCAN原理、流程、参数设置、优缺点以及算法
- 聚类算法:DBSCAN
- DBSCAN聚类算法
- DBSCAN 聚类算法
- DBSCAN 密度聚类
- DBSCAN聚类算法
- 密度聚类DBSCAN
- DBSCAN聚类算法
- DBSCAN聚类算法
- 5.3、聚类之DBSCAN聚类实例
- 聚类算法之密度聚类算法DBSCAN
- BZOJ 1211: [HNOI2004]树的计数
- 基础数论算法(六) 素数的筛法与质因数分解
- 8.12 腾讯大战360 2133
- hdu 6105 Gameia(多校联赛)
- 如何更好的提数据需求?
- 聚类方法之DBSCAN
- Gradle 打包指南
- 镶嵌数据集应用示例——全球规模数据应用
- IIS入门
- mysql数据库初步(1)
- javascript之json+ajax技术实现网页异步更新
- 使用weight属性实现试图的居中显示
- Linux内核设计与实现---下半部分和推后执行的工作(8)
- Hive相关文章索引(1)