3维数据kmeans聚类算法python
时间: 2023-10-20 12:07:41 浏览: 73
以下是Python的3D数据k-means聚类算法示例代码:
```python
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
from sklearn.cluster import KMeans
# 生成3D数据
data = np.random.rand(100, 3)
# 将数据可视化
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(data[:,0], data[:,1], data[:,2], c='b', marker='o')
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()
# 执行k-means聚类
kmeans = KMeans(n_clusters=3)
kmeans.fit(data)
# 可视化聚类结果
labels = kmeans.predict(data)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
ax.scatter(data[labels==0, 0], data[labels==0, 1], data[labels==0, 2], c='r', marker='o')
ax.scatter(data[labels==1, 0], data[labels==1, 1], data[labels==1, 2], c='g', marker='o')
ax.scatter(data[labels==2, 0], data[labels==2, 1], data[labels==2, 2], c='b', marker='o')
ax.set_xlabel('X Label')
ax.set_ylabel('Y Label')
ax.set_zlabel('Z Label')
plt.show()
```
该代码生成100个随机的3D数据,将其可视化,并执行k-means聚类,最后将聚类结果可视化。在此示例中,我们将数据分为3个簇。您可以根据需要更改簇的数量。
阅读全文