我正在尝试使用sklearn中的SVC来解决一个分类问题。给定一组数据和一些信息,告诉我某个对象是否属于某个类别,我想能够给出一个新的、未知的对象属于某个类别的概率。
我只有两个类别,所以这是一个二元问题。以下是我的代码和一些错误
from sklearn.svm import SVCclf=SVC()clf=clf.fit(X,Y)SVC(probability=True)print clf.predict_proba(W) #错误在这里
但它返回以下错误:
NotImplementedError: 必须启用概率估计才能使用此方法
我该如何解决这个问题?
回答:
你必须在构建SVC对象时设置probability=True
from sklearn.svm import SVCclf=SVC(probability=True)clf.fit(X,Y)print clf.predict_proba(W) #没有错误
你的代码创建了一个带有概率估计的SVC,但没有存储它(因为你没有将其存储在任何变量中),并使用了之前存储在clf中的SVC(没有概率)。