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

为何出现TypeError:AgglomerativeClustering收到意外参数'affinity'?

解决AgglomerativeClustering的TypeError问题

问题原因

scikit-learn 1.2版本对AgglomerativeClustering的API做了调整,移除了affinity参数,改用metric参数指定距离度量方式。另外你的代码存在导入错误:导入的是FeatureAgglomeration,但实例化的是AgglomerativeClustering,这可能引发类混淆或版本兼容问题。

修复步骤

  1. 修正导入语句:确保导入正确的聚类类:
from sklearn.cluster import AgglomerativeClustering
from sklearn.metrics import pairwise_distances
  1. 替换参数名:将affinity="cosine"替换为metric="cosine":
model = AgglomerativeClustering(n_clusters=7, linkage="average", metric="cosine")

补充说明

  • 若linkage参数设置为"ward",则只能使用欧氏距离(metric="euclidean"),这是ward方法的硬性要求。
  • 不推荐降级scikit-learn到1.1.x版本适配旧API,建议直接适配新版本API以获得更好的兼容性和功能支持。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 05:12:16