用python写KMeans聚类及可视化
时间: 2024-03-25 07:38:59 浏览: 9
好的,以下是用 Python 编写 KMeans 聚类及可视化的步骤:
1. 导入必要的库:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
```
2. 准备数据集并进行预处理:
```python
# 生成随机数据,共 200 个样本,每个样本有 2 个特征
X = -2 * np.random.rand(200, 2)
# 将前 100 个样本的第一个特征加上 2,后 100 个样本的第二个特征加上 2
X[:100, 0] += 2
X[100:, 1] += 2
# 可视化数据集
plt.scatter(X[:, 0], X[:, 1], s=50, c='b')
plt.show()
```
3. 进行聚类:
```python
# 设置聚类数为 2
kmeans = KMeans(n_clusters=2)
# 训练模型
kmeans.fit(X)
# 预测聚类结果
y_pred = kmeans.predict(X)
```
4. 可视化聚类结果:
```python
# 可视化聚类结果
plt.scatter(X[y_pred==0, 0], X[y_pred==0, 1], s=50, c='b', label='Cluster 1')
plt.scatter(X[y_pred==1, 0], X[y_pred==1, 1], s=50, c='r', label='Cluster 2')
# 可视化聚类中心
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], s=200, c='g', label='Centroids')
plt.legend()
plt.show()
```
这样就完成了 KMeans 聚类及可视化的过程。