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

使用MLkNN进行多标签分类时出现TypeError报错求助

问题

代码示例:

from skmultilearn.adapt import MLkNN
from sklearn.metrics import hamming_loss, accuracy_score
mlknn_classifier = MLkNN()
mlknn_classifier.fit(X_train, y_train)
predicted = mlknn_classifier.predict(X_test)
print(predicted)
print(accuracy_score(y_test, predicted))
print(hamming_loss(y_test,predicted))

出现报错:

TypeError: NearestNeighbors.init() takes 1 positional argument but 2 were given

解决方法
  • 实例化MLkNN时必须显式指定k参数,这是因为内部依赖的NearestNeighbors在新版本sklearn中参数传递方式变更,修改后的初始化代码示例:
mlknn_classifier = MLkNN(k=5)  # k值可根据数据集特性自行调整,比如5、10等
  • 如果使用sklearn 1.2及以上版本,确保MLkNN的参数与底层NearestNeighbors兼容,核心是必须传递k参数来避免初始化错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 00:04:51