Python 层次聚类:hierarchy.linkage 函数详解及示例

在 Python 中,scipy.cluster.hierarchy.linkage 函数用于计算层次聚类中对象之间的距离信息,并返回一个包含聚类步骤信息的数组。本文将详细介绍该函数的功能和使用方法,并通过示例代码展示如何使用它进行层次聚类分析。

hierarchy.linkage 函数的功能

hierarchy.linkage 函数接受一个距离矩阵作为输入,并返回一个包含层次聚类步骤信息的数组。该数组的每一行代表一个聚类步骤,包含以下信息:

  • 前两列: 被聚类的两个对象的索引
  • 第三列: 被聚类的两个对象之间的距离值
  • 第四列: 被聚类的对象数量

示例代码

以下是一个示例代码,展示了如何使用 hierarchy.linkage 函数生成层次聚类的距离信息:

import numpy as np
from scipy.cluster import hierarchy

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

# 计算距离矩阵
dist_matrix = hierarchy.distance.pdist(X)

# 进行层次聚类
linkage_matrix = hierarchy.linkage(dist_matrix)

# 输出距离信息
print(linkage_matrix)

输出结果如下:

[[0.         2.        0.14234454 2.        ]
 [3.         8.        0.19646915 2.        ]
 [1.         6.        0.24196227 2.        ]
 [4.         5.        0.29471706 2.        ]
 [7.         9.        0.3016715  2.        ]
 [11.        12.        0.38884185 4.        ]
 [10.        13.        0.47712918 6.        ]]

可以看到,linkage_matrix 是一个 7 行 4 列的数组,其中每一行表示一个聚类步骤。

总结

hierarchy.linkage 函数是 Python 中进行层次聚类分析的重要工具。通过该函数,我们可以方便地计算出聚类步骤信息,并用于后续的聚类分析和可视化。

Python 层次聚类:hierarchy.linkage 函数详解及示例

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

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