【发布时间】:2017-12-10 12:56:41
【问题描述】:
我想针对 2 类问题训练 RBF 内核 SVM。目前 SVM 只预测 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)
我的特征是 dtype=np.float32 的 np.arrays,我的标签是 dtype=np.int 的 np.arrays,“no”类的值为 0,“yes”类的值为 1
文档说 svm.predict 返回第二个参数为 True 的分数,但我只得到这样的结果:
(0.0, 数组([[ 0.], [0.], [0.], ..., [0.], [0.], [0.]],dtype=float32))
我是否必须更改 SVM 类型?如果是,我应该选择哪个?
【问题讨论】:
标签: python opencv machine-learning svm