对一组数据 【(1,0)(4,0)(0,1)(1,1)(2,1)(3,1)(4,1)(5,1)(0,2)(1,2)(4,2)(1,3)】进行 DBSCAN 算法用python代码实现
时间: 2023-12-19 19:05:25 浏览: 53
好的,下面是Python代码实现:
```python
from sklearn.cluster import DBSCAN
import numpy as np
# 输入数据
X = np.array([
[1, 0], [4, 0], [0, 1], [1, 1], [2, 1], [3, 1], [4, 1], [5, 1], [0, 2], [1, 2], [4, 2], [1, 3]
])
# 调用DBSCAN算法
db = DBSCAN(eps=1, min_samples=3).fit(X)
# 输出聚类结果
labels = db.labels_
print(labels)
```
这里使用scikit-learn库中的DBSCAN算法,对数据进行聚类,其中`eps`参数表示样本点的最大距离,`min_samples`参数表示聚类的最小样本数。根据输入数据和参数,可以得到以下聚类结果:
```
[-1 -1 -1 0 0 0 0 0 -1 -1 -1 -1]
```
其中-1表示噪声点,0表示一个聚类簇,-1和0之间的区别是聚类簇中的样本数是否满足`min_samples`参数的要求。
阅读全文