Add DBSCAN聚类工作流

pull/2/head
benjas 5 years ago
parent adf45b543d
commit 9a25fcca6b

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

@ -1,3 +1,5 @@
# 必备数学基础
### 高等数学基础
@ -1307,3 +1309,51 @@ https://www.naftaliharris.com/blog/visualizing-dbscan-clustering/可视化网站
- B,C: 边界点
- N: 离群点
#### DBSCAN工作流程
- 参数D输入数据集
- 参数∈:指定半径
- MinPts密度阈值
1. 标记所有对象为 unvisited
2. Do
3. 随机选择一个 unvisited 对象 p
4. 标记 p 为visited
5. If p 的∈-领域至少有 MinPts 个对象;
6. 创建一个新簇C并把 p 添加到C
7. 令 N 为 p 的∈-领域中的对象集合;
8. For N中每个点p
9. If p 是 unvisited
10. 标记 p 为 visited
11. If p 的∈-领域至少有 MinPts 个对象把这些对象添加到N
12. 如果p还不是任何簇的成员把p添加到C
13. End for
14. 输出C
15. Else 标记 p 为噪声;
16. Until 没有标记为 unvisited 的对象;
参数选择:
- 半径∈可以根据K距离开设定找突变点
- k距离给定数据集P={p(i);i=0,1,...n}计算点P(i)到集合D的子集S中所有点之间的距离距离按照从小到大的顺序排序d(k)就被称为k-距离。
- MinPtsk-距离中k的值一般取得小一些多次尝试
优势:
- 不需要指定簇个数
- 可以发现任意形状得簇
- 擅长找到离群点(检测任务)
- 两个参数就够了
劣势:
- 高维数据有些困难(可以降维)
- 参数难以选择(参数对结果得的影响非常大)
- Sklearn中效率慢数据消减策略
如下两图:
![1606228016281](assets/1606228016281.png)![1606228049969](assets/1606228049969.png)

Loading…
Cancel
Save