python 将kmeans聚类结果画图
时间: 2023-09-03 15:13:51 浏览: 145
要将K-means聚类的结果绘制成图形,使用Matplotlib库。首先需要进行K-means类,并为每个数据点分配一个簇标签。然后,可以根据簇标签绘制散点图来可视化聚类结果。
以下是一个示例代码:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
# 生成随机数据
np.random.seed(0)
X = np.random.randn(100, 2)
# 进行K-means聚类
kmeans = KMeans(n_clusters=3)
kmeans.fit(X)
# 获取每个数据点所属的簇标签
labels = kmeans.labels_
# 将数据点和簇标签合并成一个DataFrame
df = pd.DataFrame({'x': X[:, 0], 'y': X[:, 1], 'label': labels})
# 绘制聚类结果的散点图
colors = ['red', 'blue', 'green']
plt.scatter(df['x'], df['y'], c=df['label'], cmap=matplotlib.colors.ListedColormap(colors))
plt.title('K-means Clustering')
plt.xlabel('x')
plt.ylabel('y')
plt.show()
```
上述代码使用`sklearn.cluster`中的`KMeans`类进行K-means聚类。在这个示例中,我们生成了一个随机数据集`X`,其中包含100个二维数据点。然后,我们使用K-means算法将数据点分为3个簇。
接下来,使用`labels_`属性获取每个数据点所属的簇标签,并将数据点和簇标签合并成一个DataFrame。
最后,使用Matplotlib的`scatter()`函数绘制散点图,其中不同簇的数据点使用不同的颜色表示。
运行代码后,将显示一个散点图,其中不同颜色的点表示不同的簇。
阅读全文