Python 库 SciPy 中 hierarchy.fcluster 函数详解:参数与应用
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。
常用参数
其中,比较常用的参数是 Z 和 t。Z 表示聚类树,是 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 库中用于层次聚类的重要函数,它可以根据指定的阈值或准则将聚类树划分为聚类簇,方便进行后续的分析和应用。
原文地址: https://www.cveoy.top/t/topic/nE1v 著作权归作者所有。请勿转载和采集!