SciPy 中 hierarchy.fcluster 函数详解:参数与应用

hierarchy.fcluster 是 Python 科学计算库 SciPy 中用于对给定的聚类树进行聚类操作的函数。它接受一个层次聚类的结果(聚类树)作为输入,并根据指定的阈值或准则将聚类树划分为聚类簇。

参数解释

  • Z:必需参数,表示层次聚类的结果,即聚类树,可以是 linkage 函数的返回值。
  • t:必需参数,表示聚类的阈值。如果不为 None,则表示根据此阈值将聚类树划分为聚类簇;如果为 None,则表示根据 criterion 参数自动选择阈值。
  • criterion:可选参数,表示用于自动选择阈值的准则。可选值为 'inconsistent'、'distance'、'maxclust' 和 'monocrit',默认值为 'inconsistent'。
  • depth:可选参数,表示聚类树的深度,默认值为 2。当 criterion 参数为 'inconsistent' 时有效。
  • R:可选参数,表示聚类结果的形式。可选值为 'inconsistent'、'distance'、'maxclust' 和 'monocrit',默认值为 'inconsistent'。
  • c:可选参数,表示聚类结果的形式。可选值为 'maxclust'、'inconsistent' 和 None,默认值为 None
  • monocrit:可选参数,表示用于决定阈值的单调准则。可选值为 'maxclust' 和 'distance',默认值为 'distance'。
  • count:可选参数,表示在 criterion 参数为 'inconsistent' 时使用的聚类数目,默认值为 None

常用参数

其中,比较常用的参数是 ZtZ 表示聚类树,是 linkage 函数的返回值;t 表示聚类的阈值,如果不为 None,则表示根据此阈值将聚类树划分为聚类簇。

示例

from scipy.cluster.hierarchy import linkage, fcluster
import numpy as np

data = np.array([[1, 2], [1, 4], [1, 0], [4, 2], [4, 4], [4, 0]])

# 使用 linkage 函数计算聚类树
z = linkage(data, method='ward')

# 使用 fcluster 函数根据阈值 2 将聚类树划分为聚类簇
clusters = fcluster(z, t=2, criterion='distance')

print(clusters)

应用场景

hierarchy.fcluster 函数在数据分析、机器学习、模式识别等领域有着广泛的应用,例如:

  • 客户细分:根据客户特征将客户群进行分类
  • 文本聚类:将文本数据根据主题进行分组
  • 图像分割:将图像根据颜色或纹理进行划分

总结

hierarchy.fcluster 函数是 Python SciPy 库中用于层次聚类的重要函数,它可以根据指定的阈值或准则将聚类树划分为聚类簇,方便进行后续的分析和应用。

Python 库 SciPy 中 hierarchy.fcluster 函数详解:参数与应用

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

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