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()

程序运行过程:

  1. 导入必要的库:numpy、matplotlib.pyplot 和 sklearn.cluster 中的 KMeans 算法。
  2. 生成 100 行 2 列的随机数据 X。
  3. 定义 KMeans 算法对象 kmeans,设置聚类数为 3。
  4. 使用 KMeans 算法对象 kmeans 对数据 X 进行聚类。
  5. 绘制散点图,其中 X[:, 0] 表示数据 X 的第一列,X[:, 1] 表示数据 X 的第二列,c=kmeans.labels_ 表示每个数据点的颜色由对应的聚类标签决定。
  6. 绘制聚类中心点,kmeans.cluster_centers_[:, 0] 表示每个聚类中心点的横坐标,kmeans.cluster_centers_[:, 1] 表示每个聚类中心点的纵坐标,marker='x' 表示使用 'X' 标记,s=200 表示标记大小为 200,linewidths=3 表示标记线宽为 3,color='r' 表示标记颜色为红色。
  7. 设置图标题为 'Partitioning based clustering'。
  8. 显示绘制结果图。

结果:

程序将绘制一个散点图,显示了数据点被分为三个不同的聚类,每个聚类都有一个红色的 'X' 标记表示其中心点。

注意:

  • 可以调整 n_clusters 参数以改变聚类的数量。
  • 可以使用不同的随机种子值来生成不同的数据。
  • 可以使用其他可视化工具来创建更详细的聚类结果图。
KMeans 聚类算法 Python 实现及可视化

原文地址: https://www.cveoy.top/t/topic/jFSs 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录