SVM分类器.predict()中的Python错误

6

当我使用以下Python命令对新数据进行分类时,出现了以下错误:

classifier.predict(new_data)

AttributeError: Python中的'SVC'对象没有属性_dual_coef_

但是在我的笔记本电脑上,该命令可以正常运行!出了什么问题?


1
你在两台电脑上使用的是同一个版本吗? - Alex
是的。这真的很奇怪,因为这是scikit learn工具包的基本功能。 - azal
你能提供导致错误的输入吗? - sedavidw
4个回答

8

我曾经遇到过这个错误: AttributeError:python 'SVC'对象没有属性_dual_coef_。这是在使用 scikit-learn版本0.15.2训练模型时发生的,我试图在scikit-learn版本0.16.1中运行它时出现的。我通过在最新版本的scikit-learn 0.16.1 中重新训练模型来解决了这个问题。

请确保加载正确版本的包。


1
很遗憾旧的保存模型无法在新版本上运行...希望未来有更安全的数据格式。 - NoBugs

1

是的,一切都已经加载完毕。我在这两台电脑上使用相同的编程流程。 - azal
你尝试过(或者有可能)颠倒计算机的角色进行模型构建和预测吗? - farhawa
很遗憾,在当前计算机配置和数据集的情况下,这是无法完成的。 - azal

1
我曾经遇到过同样的问题,我使用的是Sklearn 0.23.02版本,但我尝试运行一个用0.18版本训练的存档...我的错误显示为:"'SVC'对象没有属性'break_ties'",我只需使用我的版本重新训练模型并解决问题,我生成了另一个svc.pickle以在0.23.02版本上运行并替换旧的文件。

我遇到了同样的问题。 - Abhik Sarkar

0
"""
X = X_train 
y =  y_train 
"""
X = X_test 
y =  y_test

# Instantiate and train the classifier
from sklearn.neighbors import KNeighborsClassifier
clf = KNeighborsClassifier(n_neighbors=1)
clf.fit(X, y) 


# Check the results using metrics
from sklearn import metrics
y_pred = clf.predict(X)

print(metrics.confusion_matrix(y_pred, y))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接