使用Python绘制K-means聚类结果的散点图
使用Python绘制K-means聚类结果的散点图
可以使用Python中的matplotlib库来绘制散点图,直观地展示K-means聚类结果。
1. 获取聚类结果
首先,需要将聚类结果中每个样本的类别(即所属的簇)提取出来。例如,在K-means模型中,可以使用author_km.predict(author_data)方法获取每个样本的类别。
# 获取聚类结果中每个样本的类别
labels = author_km.predict(author_data)
2. 绘制散点图
使用matplotlib库的scatter方法绘制散点图,并使用不同的颜色来表示不同的簇。
# 绘制散点图
plt.scatter(author_data[:, 0], author_data[:, 1], c=labels)
其中,author_data[:, 0]和author_data[:, 1]分别表示数据集的第一个特征和第二个特征。c=labels参数用于指定每个样本所属的簇,并使用不同的颜色表示不同的簇。
3. 添加聚类中心点
可以使用scatter方法绘制聚类中心点的标记,例如使用红色十字形。
# 绘制聚类中心点的标记
plt.scatter(author_centers[:, 0], author_centers[:, 1], marker='x', s=200, linewidths=3, color='r')
4. 设置图形标题和轴标签
使用xlabel和ylabel方法设置图形标题和轴标签。
# 设置图形标题和轴标签
plt.xlabel('Feature1')
plt.ylabel('Feature2')
5. 显示图形
使用plt.show()方法显示绘制的散点图。
# 显示图形
plt.show()
示例代码
import matplotlib.pyplot as plt
# 获取聚类结果中每个样本的类别
labels = author_km.predict(author_data)
# 绘制散点图
plt.scatter(author_data[:, 0], author_data[:, 1], c=labels)
# 绘制聚类中心点的标记
plt.scatter(author_centers[:, 0], author_centers[:, 1], marker='x', s=200, linewidths=3, color='r')
# 设置图形标题和轴标签
plt.xlabel('Feature1')
plt.ylabel('Feature2')
# 显示图形
plt.show()
注意
根据实际情况,需要修改代码中的特征列名称、聚类模型名称等参数。
原文地址: https://www.cveoy.top/t/topic/oRk4 著作权归作者所有。请勿转载和采集!