用python写一个DBSCAN聚类实例,每行标注代码意思
时间: 2024-02-26 14:58:52 浏览: 73
基于Python的DBSCAN的聚类算法
好的,下面是一个简单的 Python DBSCAN 聚类实例,每行代码都有注释说明:
```python
import numpy as np
from sklearn.cluster import DBSCAN
from sklearn.datasets import make_moons
from sklearn.preprocessing import StandardScaler
import matplotlib.pyplot as plt
# 生成月牙形数据集
X, y = make_moons(n_samples=200, noise=0.05, random_state=0)
# 对数据进行标准化处理
scaler = StandardScaler()
X_scaled = scaler.fit_transform(X)
# 调用 DBSCAN 算法进行聚类
dbscan = DBSCAN(eps=0.3, min_samples=5)
clusters = dbscan.fit_predict(X_scaled)
# 绘制聚类结果的散点图
plt.scatter(X[:, 0], X[:, 1], c=clusters, cmap='viridis')
plt.xlabel("Feature 0")
plt.ylabel("Feature 1")
plt.show()
```
在这个实例中,我们首先使用 `make_moons` 函数生成了一个月牙形数据集,然后对数据进行标准化处理。接下来,我们调用 `DBSCAN` 类,传入了两个参数 `eps` 和 `min_samples`,分别代表 DBSCAN 算法中的邻域半径和最小样本数。最后,我们调用 `fit_predict` 方法对数据进行聚类,并将聚类结果绘制成散点图。
阅读全文