You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python的sklearn库AgglomerativeClustering聚类算法的距离阈值精度是多少

关于sklearn中AgglomerativeClustering的distance_threshold参数精度问题
  1. 参数本身的存储精度
    distance_threshold接收Python标准float类型(64位双精度浮点数),有效十进制精度为15~17位,可表示的最小正非零值约为2.2×10^-308。你举例的d=0.000002远大于最小可表示阈值,会被算法直接使用,不会被四舍五入为0。
  2. 实际有效精度的限制因素
  • 输入数据精度限制:如果你的输入特征矩阵i的特征本身只有有限位小数,那么计算得到的样本间欧氏距离精度也会匹配输入精度,此时设置过高的distance_threshold小数位不会对聚类结果产生实际影响。
  • 簇合并临界距离限制:只有当distance_threshold的数值变化超过当前场景下可合并簇的最小距离差时,聚类结果才会发生变化,否则即使参数数值被准确存储,也不会改变输出的聚类簇数,这是业务场景的数值敏感度问题,和参数存储精度无关。
  1. 精度验证方法
    你可以直接打印初始化后的聚类对象参数,确认输入的阈值是否被准确保留:
d = 0.000002
clustering = AgglomerativeClustering(n_clusters=None, affinity='euclidean',
                             distance_threshold=d, linkage='single')
print(clustering.distance_threshold)

运行后输出为2e-06,和你设置的数值完全一致。

内容的提问来源于stack exchange,提问作者Lois

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 05:57:01