利用sklearn中的make_bolbs()函数随机生成200个样本数据,样本数据特征数为3个,然后利用sklearn 中的KMeans()函数进行聚类分析,并将结果显示出来。
时间: 2024-01-22 20:18:17 浏览: 68
好的,以下是代码实现:
```python
from sklearn.datasets import make_blobs
from sklearn.cluster import KMeans
import matplotlib.pyplot as plt
# 生成数据
X, y = make_blobs(n_samples=200, n_features=3, centers=4, random_state=42)
# 聚类分析
kmeans = KMeans(n_clusters=4, random_state=42)
kmeans.fit(X)
# 可视化结果
fig = plt.figure(figsize=(10, 8))
ax = fig.add_subplot(111, projection='3d')
ax.scatter(X[:, 0], X[:, 1], X[:, 2], c=kmeans.labels_)
ax.set_xlabel('feature 1')
ax.set_ylabel('feature 2')
ax.set_zlabel('feature 3')
plt.show()
```
解释一下代码:
首先,我们使用`make_blobs()`函数生成200个样本数据,其中每个样本数据有3个特征,分为4类。
然后,我们使用`KMeans()`函数进行聚类分析,并将聚类结果保存在`kmeans.labels_`中。
最后,我们使用`matplotlib`将聚类结果可视化出来。由于每个样本数据有3个特征,我们使用`ax = fig.add_subplot(111, projection='3d')`创建一个3D坐标系,将每个样本数据在3D坐标系中对应的位置可视化出来,颜色表示聚类结果。
阅读全文