K均值聚类分析展示三个聚类的分布情况和中心点位置的代码
时间: 2024-09-06 21:02:52 浏览: 25
K均值(K-means)聚类是一种常用的无监督学习算法,用于将数据分为K个聚类。以下是使用Python中的`sklearn`库和`matplotlib`库进行K均值聚类分析并展示三个聚类的分布情况和中心点位置的代码示例:
```python
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
from sklearn.datasets import make_blobs
import numpy as np
# 生成随机数据
X, y_true = make_blobs(n_samples=300, centers=3, cluster_std=0.60, random_state=0)
# 创建KMeans实例并拟合数据
kmeans = KMeans(n_clusters=3)
kmeans.fit(X)
y_kmeans = kmeans.predict(X)
# 绘制聚类结果
plt.scatter(X[:, 0], X[:, 1], c=y_kmeans, s=50, cmap='viridis')
# 绘制聚类中心
centers = kmeans.cluster_centers_
plt.scatter(centers[:, 0], centers[:, 1], c='black', s=200, alpha=0.8)
plt.show()
```
在这段代码中:
1. 我们首先导入必要的库。
2. 使用`make_blobs`函数生成带有三个聚类中心的随机数据集。
3. 创建`KMeans`类的实例,并设置聚类数量为3。
4. 使用`fit`方法对数据集进行拟合,得到聚类模型。
5. 使用`predict`方法对数据集进行预测,得到每个数据点的聚类标签。
6. 使用`scatter`方法绘制聚类结果和聚类中心。
7. `centers`变量存储了每个聚类的中心点坐标。
8. `plt.show()`函数展示最终的图形。