python画kmeans聚类结果图
时间: 2023-07-17 20:01:15 浏览: 122
要在Python中绘制k-means聚类的结果图,可以使用Matplotlib库。以下是一个示例代码:
```python
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
import numpy as np
# 创建一个包含样本数据的numpy数组
X = np.array([[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]])
# 创建KMeans对象,设置聚类数目为2
kmeans = KMeans(n_clusters=2)
# 对数据进行聚类
kmeans.fit(X)
# 获取聚类结果
labels = kmeans.labels_
# 获取聚类中心点坐标
centers = kmeans.cluster_centers_
# 绘制聚类结果图
plt.scatter(X[:, 0], X[:, 1], c=labels)
plt.scatter(centers[:, 0], centers[:, 1], marker='x', color='red')
plt.xlabel('X')
plt.ylabel('Y')
plt.title('K-means Clustering')
plt.show()
```
在上面的示例中,首先导入必要的库并创建包含样本数据的numpy数组。然后,创建KMeans对象并对数据进行聚类。接下来,获取聚类结果和聚类中心点坐标。最后,使用`scatter`函数绘制散点图,并使用不同的颜色表示不同的聚类结果,使用红色`x`标记表示聚类中心点。通过`xlabel`、`ylabel`和`title`函数设置横轴、纵轴和标题的标签。最后,使用`show`函数显示图形。
运行上述代码后,将会显示一个绘制了k-means聚类结果的散点图。每个样本点的颜色表示其所属的聚类,红色`x`标记表示聚类的中心点。
注意:上述示例仅适用于二维数据。如果数据维度更高,可以选择绘制部分特征或采用降维方法进行可视化。
阅读全文