参数选择技巧
使用k-distance图选择eps:计算每个点到其第k个最近邻的距离,按降序排列绘图,选择曲线拐点处的距离作为eps值。
基于密度的空间聚类算法
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法。 它将密度相连的点划分为一个簇,能够发现任意形状的簇,并能识别出噪声点。
在eps邻域内包含至少min_samples个点的点
不是核心点,但在某个核心点的eps邻域内
既不是核心点也不是边界点的点
| 参数 | 说明 | 选择建议 |
|---|---|---|
| eps (ε) | 邻域半径,决定点的邻域范围 | 使用k-distance图,选择拐点处的距离 |
| min_samples | 核心点的最小邻域点数 | 通常设为维度数的2倍或更多 |
| metric | 距离度量方法 | 默认欧氏距离,可根据数据特点选择 |
| 特性 | DBSCAN | K-Means |
|---|---|---|
| 簇的形状 | 任意形状 | 凸形(球形) |
| 参数 | eps, min_samples | 簇数量K |
| 噪声处理 | 自动识别噪声点 | 强制所有点属于某簇 |
| 时间复杂度 | O(n log n) | O(nkt) |
| 密度敏感 | 是 | 否 |
使用k-distance图选择eps:计算每个点到其第k个最近邻的距离,按降序排列绘图,选择曲线拐点处的距离作为eps值。