HDBSCAN算法流程图
时间: 2025-01-03 13:31:51 浏览: 6
### HDBSCAN算法流程
HDBSCAN(Hierarchical Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的层次聚类方法,能够有效处理不同密度的数据分布。以下是HDBSCAN算法的主要工作流程:
#### 1. 计算互达距离 (Mutual Reachability Distance)
对于每一对点 \( p \) 和 \( q \),计算它们之间的互达距离 \( d_{mr}(p, q) \):
\[ d_{mr}(p, q) = \max(\text{core\_distance}(p), \text{core\_distance}(q), \text{distance}(p, q)) \]
其中 `core_distance` 是指使某一点成为核心点所需的最小距离。
```python
def mutual_reachability(p, q, core_distances, distances):
return max(core_distances[p], core_distances[q], distances[p][q])
```
[^2]
#### 2. 构建最短路径树 (Minimum Spanning Tree)
利用上述互达距离构建加权无向图,并通过Prim或Kruskal算法找到最小生成树(MST)。
#### 3. 形成凝聚树 (Condensed Tree)
从MST出发形成一棵凝聚树,在此过程中记录每个节点加入的时间戳以及离开时间戳。
![凝結樹](https://hdbscan.readthedocs.io/en/latest/_images/condensation.png)[^3]
#### 4. 提取稳定簇 (Extract Stable Clusters)
遍历整个凝聚树寻找局部最大值作为潜在集群中心;随后依据稳定性原则选取最终分类结果。
---
由于文本描述难以完全表达复杂的图形化过程,建议查阅官方文档中的可视化案例来更直观理解HDBSCAN的工作机制。
阅读全文