机器学习之密度聚类算法DBSCAN

密度聚类引入

 
前面介 了有关 Kmeans 算法的理 实战 ,也提到了 算法的两个致命缺点,一
是聚 效果容易受到异常 本点的影响;二是 算法无法准确地将非球形 行合理的聚
了弥 Kmeans 算法的两方面缺点,本章将介 另一种聚 算法,即基于密度的聚
DBSCAN Density-Based Special Clustering of Applications with Noise ), 密度 可以理解 为样
点的 密程度,而 密度的衡量 需要使用半径和最小 本量 估,如果在指定的半径
域内, 实际样 本量超 过给 定的最小 本量 阈值 则认为 是密度高的 象。 DBSCAN 密度聚
算法可以非常方便地 发现样 本集中的异常点,故通常可以使用 算法 实现 异常点的 检测
,也会介 绍层 次聚 算法, 算法比 适合小 本的聚 ,它是通 过计 算各个簇内
本点之 的相似度, 而构建一棵有 次的嵌套聚 类树 算法仍然不适合非球形 本的聚
,但它与 Kmeans 算法 似,可以通 为设 定聚 个数 实现样 本点的聚合,相比于密度聚
,似乎会方便很多。
 
 

密度聚的步

1 密度聚 算法 置一个合理的半径 ε 以及 ε 域内所包含的最少 本量 MinPts
2 )从数据集中随机挑 一个 本点 p 检验 其在 ε 域内是否包含指定的最少 本量,如
果包含就将其定性 核心 象,并构成一个簇 C ;否 ,重新挑 一个 本点。
3 于核心 p 所覆盖的其他 本点 q ,如果点 q 对应 ε 域内仍然包含最少 本量
MinPts ,就将其覆盖的 本点 统统归 于簇 C
4 )重复步 3 ),将最大的密度相 所包含的 本点聚 ,形成一个大簇。
5 )完成步 4 )后,重新回到步 2 ),并重复步 3 )和( 4 ),直到没有新的 本点可以
生成新簇 算法 束。
 

参数

eps :用于 置密度聚 中的 ε 域,即半径,默 认为 0.5
min_samples :用于 ε 域内最少的 本量,默 认为 5
metric :用于指定 算点之 距离的方法,默 认为 欧氏距离。
metric_params :用于指定 metric 对应 的其他参数
algorithm :在 算点之 距离的 程中,用于指定搜 最近 邻样 本点的算法。默
'auto' ,表示密度聚 会自 动选择 一个合适的搜 方法。如果 'ball_tree' 表示使用
最近 。如果 'kd_tree' 表示使用 K-D 最近 。如果 'brute' 表示
使用暴力法搜 最近 。有关 几种最近 方法,可以参考第 11 章的内容。
leaf_size :当参数 algorithm 'ball_tree' 'kd_tree' ,用于指定 的叶子 点中所包含的
最多 本量,默 认为 30 参数会影响搜 寻树 的构建和搜 最近 的速度。
p :当参数 metric 为闵 可夫斯基( 'minkowski' )距离 p=1 ,表示 算点之 的曼哈
离; p=2 ,表示 算点之 的欧氏距离; 参数的默 认值为 2
n_jobs :用于 置密度聚 算法并行 算所需的 CPU 数量,默 认为 1 ,表示 使用 1 CPU
运行算法,即不使用并行运算功能。
 
需要 明的是,在 DBSCAN 中,参数 eps min_samples 需要同 时调 参,即通常会指定几 个候 选值 ,并从候 选值 中挑 出合理的 阈值 。在参数 eps 固定的情况下,参数 min_samples 越大,
所形成的核心 象就越少,往往会 判出 多异常点,聚成的簇数目也会增加。反之,会
大量的核心 象, 致聚成的簇数目减少。在参数 min_samples 固定的情况下,参数 eps 越大,就
致越多的点落入到 ε 域内, 而使核心 象增多,最 使聚成的簇数目减少;反之,会
致核心 象大量减少、最 聚成的簇数目增多。在参数 eps min_samples 不合理的情况下,簇
数目的增加或减少往往都是 错误 的。例如, 应该 本由于簇数目的增加而聚
,不 本由于簇数目的减少而聚

密度聚Kmeans的比

Kmeans 的短板是无法 非球形的簇 行聚 ,同 也非常容易受到极端 的影响,
而密度聚 类则 可以弥 它的缺点。如果用于聚 的原始数据集 为类 球形,那么密度聚
Kmeans 的效果基本一致。接下来通 过图 形的方式 比两种算法的聚 效果。
 
 
密度聚 算法可以 发现 任何形状的 本簇,而且 算法具有很 的抗噪声
能力。算法具有 点的背后是需要用 户设 定合理的半径 ε 对应领 域内最少的 本数量
MinPts
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值