以下是层次聚类算法的 Python 程序,使用 matplotlib 绘制聚类结果的树状图:

import numpy as np
import matplotlib.pyplot as plt
from scipy.cluster.hierarchy import dendrogram, linkage

# 生成随机数据
np.random.seed(0)
X = np.random.random((10, 2))

# 层次聚类
Z = linkage(X, 'ward')

# 绘制树状图
fig, ax = plt.subplots(figsize=(10, 5))
dendrogram(Z)
plt.show()

解释程序:

  1. 导入必要的库:numpy、matplotlib 和 scipy.cluster.hierarchy。
  2. 生成 10 个随机二维数据点。
  3. 使用 ward 方法进行层次聚类,得到聚类结果的 Z 矩阵。
  4. 绘制树状图,其中 dendrogram 函数用于绘制树状图,fig 和 ax 变量用于设置图形大小和坐标轴,plt.show() 用于显示图形。

运行程序后,将会显示聚类结果的树状图。树状图的横轴表示数据点,纵轴表示聚类距离。可以根据聚类距离的大小,将树状图切割成若干个聚类簇。

Python 层次聚类算法实现及树状图绘制

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

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