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

使用finch-clust库的FINCH()聚类时遇TypeError错误求助

解决FINCH实例化时的TypeError问题

问题原因

你使用的finch库中,FINCH类的构造方法(__init__)要求必须传入data参数,而非像sklearn风格那样通过fit方法延迟传入数据。你所了解的metric和n_jobs是可选参数,但它们是在data这个必填参数之后的可选项,因此实例化时不传data就会触发缺失参数的报错。

修正后的代码

import numpy as np
from sklearn import datasets
import matplotlib.pyplot as plt
from finch import FINCH

n_samples = 5000
n_clusters = 5
random_state = 42

X, y = datasets.make_blobs(n_samples=n_samples, centers=n_clusters, random_state=random_state)

# 实例化FINCH时传入必填的data参数X,可选参数可按需添加
fin = FINCH(X, metric='euclidean', n_jobs=1)

# 打印划分结果
print("FINCH算法的划分结果:")
print(fin.partitions)

# 计算并打印每个划分中的聚类数量
print("\n每个划分的聚类数量:")
for idx, partition in enumerate(fin.partitions):
    unique_clusters = np.unique(partition)
    print(f"第{idx+1}个划分:{len(unique_clusters)}个聚类")

补充说明

如果该库的FINCH类确实支持fit方法(部分实现可能同时提供两种方式),也可以检查是否是类的API文档有误,或者你使用的版本与demo版本不一致。但根据当前报错信息,最直接的解决方式就是在实例化时传入data参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 15:42:13