Python 层次聚类:hierarchy.linkage 函数详解及示例
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 中进行层次聚类分析的重要工具。通过该函数,我们可以方便地计算出聚类步骤信息,并用于后续的聚类分析和可视化。
原文地址: https://www.cveoy.top/t/topic/nEVi 著作权归作者所有。请勿转载和采集!