KMeans 聚类算法 Python 实现及可视化
KMeans 聚类算法 Python 实现及可视化
该代码使用 Python 的 NumPy、Matplotlib 和 Scikit-learn 库来演示 KMeans 聚类算法,并绘制可视化结果。
import numpy as np
import matplotlib.pyplot as plt
from sklearn.cluster import KMeans
# 生成数据
np.random.seed(0)
X = np.random.randn(100, 2)
# 划分聚类算法
kmeans = KMeans(n_clusters=3)
kmeans.fit(X)
# 绘制结果图
plt.scatter(X[:, 0], X[:, 1], c=kmeans.labels_)
plt.scatter(kmeans.cluster_centers_[:, 0], kmeans.cluster_centers_[:, 1], marker='x', s=200, linewidths=3, color='r')
# 红色的'X'标记表示每个聚类的中心点。
plt.title('Partitioning based clustering')
plt.show()
程序运行过程:
- 导入必要的库:numpy、matplotlib.pyplot 和 sklearn.cluster 中的 KMeans 算法。
- 生成 100 行 2 列的随机数据 X。
- 定义 KMeans 算法对象 kmeans,设置聚类数为 3。
- 使用 KMeans 算法对象 kmeans 对数据 X 进行聚类。
- 绘制散点图,其中 X[:, 0] 表示数据 X 的第一列,X[:, 1] 表示数据 X 的第二列,c=kmeans.labels_ 表示每个数据点的颜色由对应的聚类标签决定。
- 绘制聚类中心点,kmeans.cluster_centers_[:, 0] 表示每个聚类中心点的横坐标,kmeans.cluster_centers_[:, 1] 表示每个聚类中心点的纵坐标,marker='x' 表示使用 'X' 标记,s=200 表示标记大小为 200,linewidths=3 表示标记线宽为 3,color='r' 表示标记颜色为红色。
- 设置图标题为 'Partitioning based clustering'。
- 显示绘制结果图。
结果:
程序将绘制一个散点图,显示了数据点被分为三个不同的聚类,每个聚类都有一个红色的 'X' 标记表示其中心点。
注意:
- 可以调整
n_clusters参数以改变聚类的数量。 - 可以使用不同的随机种子值来生成不同的数据。
- 可以使用其他可视化工具来创建更详细的聚类结果图。
原文地址: https://www.cveoy.top/t/topic/jFSs 著作权归作者所有。请勿转载和采集!