sklearn.cluster.DBSCAN聚类三维点的代码,并画出聚类结果
时间: 2024-06-03 21:08:51 浏览: 148
以下是使用sklearn.cluster.DBSCAN聚类三维点的示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from sklearn.cluster import DBSCAN
# 生成随机的三维点
np.random.seed(0)
X = np.random.randn(100, 3)
# 使用DBSCAN聚类算法
dbscan = DBSCAN(eps=0.5, min_samples=5)
dbscan.fit(X)
# 可视化聚类结果
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
colors = ['r', 'g', 'b', 'c', 'm', 'y', 'k', 'w']
for i, label in enumerate(np.unique(dbscan.labels_)):
if label == -1:
# 噪声点用黑色表示
color = 'k'
else:
color = colors[i % len(colors)]
ax.scatter(X[dbscan.labels_ == label, 0],
X[dbscan.labels_ == label, 1],
X[dbscan.labels_ == label, 2],
c=color, marker='o')
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()
```
运行上述代码后,将会得到一个三维空间中的点聚类结果可视化图像。其中,每个簇用不同的颜色表示,噪声点用黑色表示。
![dbscan_3d_cluster](https://cdn.jsdelivr.net/gh/kkkkjl/img/2022/07/dbscan_3d_cluster.png)
阅读全文