【发布时间】:2018-06-19 02:44:53
【问题描述】:
在 LIBSVM 中,svmtrain 中的 -b 标志用于启用 SVC 或 SVR 模型的概率估计训练。为了得到测试集对应的结果,我们还将-b的结果设置在svmpredict中
例如,在 MATLAB 中,我们将编写以下代码来训练和测试启用概率估计:
model = svmtrain(train_labels, train_set, '-b 1')
[result, accuracy, prob] = svmpredict(test_labels, test_set, '-b 1')
但是,在 scikit-learn 库中初始化 SVC 时,我们只能在训练时设置 -b 标志,这与在 svmtrain 上设置 -b 标志相同:
clf = scikit.svm.SVC(probability=True)
为了在 scikit-learn 中进行测试,我使用 clf.predict(test_set) 来获取课程。但是,当我将svmpredict 与-b 1 标志一起使用时,这会产生不同的结果。
在使用svmpredict 进行测试期间设置-b 标志的scikit-learn svm 中的等效项是什么?
【问题讨论】:
-
是的,这是预期的,因为 predict() 不使用概率。它在此处的文档中提到:scikit-learn.org/dev/modules/svm.html#scores-and-probabilities
标签: scikit-learn svm libsvm