Python OpenCV2支持向量机获取分数而不是yes/no响应

2024-10-03 11:21:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我想训练一个2类问题的RBF核支持向量机。目前支持向量机只预测0或1,但我希望它返回到决策边界的距离。我怎样才能做到这一点?在

self.svm = cv2.ml.SVM_create()
self.svm.setKernel(cv2.ml.SVM_RBF)
self.svm.train(features, cv2.ml.ROW_SAMPLE, labels)
res = svm.predict(testdata, True)

我的特征是np.数组带数据类型=np.浮动32,我的标签是np.数组带数据类型=内景“否”类的值为0,类“是”的值为1

文件上说支持向量机预测返回第二个参数为True的分数,但我只得到如下结果:

(0.0, array([[ 0.], [ 0.], [ 0.], ..., [ 0.], [ 0.], [ 0.]], dtype=float32))

我要改变SVM类型吗?如果是,我应该选择哪一个?在


Tags: selftrue距离np数组cv2向量ml
1条回答
网友
1楼 · 发布于 2024-10-03 11:21:08

您可以使用scikit learn包来生成支持向量机。在

训练:

from sklearn.svm import LinearSVC
clf=LinearSVC(C=1.0,  class_weight='balanced')
clf.fit(features, labels)
svm_w = clf.coef_[0]
svm_intercept = clf.intercept_[0]

测试:

^{pr2}$

这将根据到超平面的距离给出特征的支持向量机响应。在

相关问题 更多 >