在LIBSVM中,-b
中的svmtrain
标志用于训练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
标志,这与在-b
上设置svmtrain
标志相同:
clf = scikit.svm.SVC(probability=True)
为了在scikit-learn中进行测试,我使用clf.predict(test_set)
来获取课程。但是,当我使用带有svmpredict
标志的-b 1
时,会产生不同的结果。
scikit-learn svm在使用-b
进行测试期间设置svmpredict
标志的等效内容是什么?
答案 0 :(得分:-1)
Scikit-learn没有使用标志来预测分类器的概率,还有一个名为.predict_proba
的附加功能。看看documentation。
概率是使用Platt scaling确定的,这是一种将来自分类器的任意输出组合成类概率的方法。
另见答案:How does sklearn.svm.svc's function predict_proba() work internally?