【23.8.18】聚类算法之DBSCAN

DBSCAN

【算法思路】

  1. 输入epsilon和minPoints初始值,确定核心对象集合
  2. 遍历整个样本集数据,对没访问过的核心对象:
    • 在该核心对象的eps范围内,如果点没被访问过,给他分配当前簇号
    • 继续搜寻是核心对象的那些样本点,给他分配当前簇号,并将其eps范围内的点加入栈
      • 对栈内的点继续搜寻范围内的核心对象,访问过的就出栈,直到栈空
    • 递增簇号
    • 对这些点进行第2步的步骤

【计算实例】
计算实例
【计算草稿】
核心对象:[2, 3, 8]
计算流程草稿
【关于eps取值】
如果eps过大,容易导致距离近且密度大的核心对象被划分为同一个簇;
如果eps过小,那eps范围内点减少,容易使很多点没有办法进入密度可达范围,容易被认为是噪声点。

【总结】就是不断搜寻核心对象的密度可达范围,直到没办法继续扩展,就对下一个核心对象继续扩展。没有被扩展的点就是噪声点。
【参考】
原理:机器学习笔记(十)聚类算法DBSCAN原理和实践
也可以看这篇掌握算法大致思路:常用聚类算法
算法计算详细步骤:基于密度的聚类算法DBSCAN原理与实现
可视化演示参考:dbscan可视化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ST-DBSCAN (Space-Time Density-Based Spatial Clustering of Applications with Noise) 是一种时空聚类算法,它是基于 DBSCAN (Density-Based Spatial Clustering of Applications with Noise) 算法的扩展。ST-DBSCAN 在时空数据中进行聚类,考虑了数据点的空间位置和时间属性。 DBSCAN 算法是一种基于密度的聚类方法,它将数据点划分为核心点、边界点和噪声点。核心点是在一个给定的半径范围内拥有足够数量的邻居点的点。边界点是在核心点的邻域内但不具备足够数量邻居点的点。噪声点没有足够数量的邻居点且不在任何簇中。 ST-DBSCAN 算法DBSCAN 的基础上添加了时间属性。它通过考虑空间位置和时间维度上的距离来进行聚类。ST-DBSCAN 将时空数据点视为具有三个属性:空间位置、时间和密度。它使用一个扩展的欧氏距离来计算两个数据点之间的相似度,包括空间距离和时间距离。 ST-DBSCAN 的工作流程如下: 1. 根据给定的参数确定核心点的最小邻居数和半径范围。 2. 遍历数据集中的每个点,计算其邻域中的点数。 3. 对于每个核心点,找到其可达的密度可达点(密度可达点是指在给定半径范围内有足够数量邻居点的点)。 4. 根据可达性来构建聚类簇。 5. 标记噪声点,即没有足够邻居点的点。 6. 最后,根据定义的聚类规则将聚类结果返回。 ST-DBSCAN 在时空数据的聚类中具有很好的性能,可以应用于许多领域,如交通流分析、轨迹数据分析等。它可以有效地识别和聚类时空数据中的相关模式和异常点。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值