DBSCAN聚类
一、目标
编程实现 DBSCAN 对所给数据的聚类分析:
smile,moon,long,spiral,sizes5,2d-4c,square1,square4
二、算法思想
任意选取一个点p,得到所有从p关于Eps(邻域最大半径)和MinPts(邻域最少点数)密度可达的点。如果p是一个核心点,则找到一个聚类。如果p是一个边界点,没有从p密度可达的点,DBSCAN将访问数据库中的下一个点。
不同数据 esp、minpTs 取值如下:
Name | Esp | MinPtS |
---|---|---|
Smile | 0.05 | 8 |
Moon | 0.03 | 5 |
Long | 0.2 | 5 |
Spiral | 0.6 | 10 |
Sizes5 | 1.5 | 12 |
2d-4c | 1 | 15 |
Square1 | 1 | 10 |
Square4 | 1.5 | 15 |
三、核心代码
1 | import matplotlib.pyplot as plt |
四、结果图像
- Smile
Moon
Long
Spiral
Sizes5
2d-4c
Square1
Square4