Python 在sklearn中SVM学习后,如何使用dual_coef_param?

Python 在sklearn中SVM学习后,如何使用dual_coef_param?,python,machine-learning,svm,scikit-learn,Python,Machine Learning,Svm,Scikit Learn,据我所知,带有rbf核的SVM决策函数看起来像 支持向量机学习后 from sklearn import svm X = [[0, 0], [1, 1]] y = [0, 1] clf = svm.SVC() clf.fit(X, y) 如何查看决策函数的系数theta_I?查看(请参见属性部分)。您可能正在寻找dual\u coef\u >>> from sklearn import svm >>> X = [[0, 0], [1, 1]] >&g

据我所知,带有rbf核的SVM决策函数看起来像

支持向量机学习后

from sklearn import svm
X = [[0, 0], [1, 1]]
y = [0, 1]
clf = svm.SVC()
clf.fit(X, y)
如何查看决策函数的系数
theta_I

查看(请参见属性部分)。您可能正在寻找
dual\u coef\u

>>> from sklearn import svm

>>> X = [[0, 0], [1, 1]]
>>> y = [0, 1]
>>> clf = svm.SVC()
>>> clf.fit(X, y)
>>> clf.dual_coef_
array([[ 1., -1.]])
>>> clf.support_vectors_
array([[ 0.,  0.],
       [ 1.,  1.]])

我发现,如果类[0,1]作为libsvm的标签给出,那么将生成sv_coef来确定0类。但是如果我们给出[1,0],那么会为1类生成sv_coef。

是的,我找到了,但是1*f1-1*f2会为[0,0]给出正值,为[1,1]给出负值。可能是libsvm中的decision函数看起来与此处不同:@user3142484,它取决于您计算的点
f1
f2
。你应该在同一点上对两者进行求值,并找到你刚才所做的总和的符号。这将告诉我们该点属于哪一类(0或1)。f1=exp(-gamma*| x-[0,0]| | ^2)f2=exp(-gamma*| x-[1,1]| | ^2)所以对于[0,0]f1将大于f2,f1-f2>0,然后预测应该是正确的1@user3142484,只是想澄清一下:您知道方法
预测
决策函数
?您是否打算了解libsvm是如何工作的?