Scikit learn 基于LIBSVM在scikit.smv.SVC中启用概率估计

Scikit learn 基于LIBSVM在scikit.smv.SVC中启用概率估计,scikit-learn,svm,libsvm,Scikit Learn,Svm,Libsvm,在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') 但是,在scik

在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学习库中初始化SVC时,我们只能在训练时设置
-b
标志,这与在
svmtrain
上设置
-b
标志相同:

clf = scikit.svm.SVC(probability=True)
对于scikit学习中的测试,我使用
clf.predict(test\u set)
获取类。然而,当我使用带有
-b1
标志的
svmpredict
时,这会产生不同的结果


scikit learn svm在使用
svmpredict
进行测试期间设置
-b
标志的等效功能是什么?

scikit learn不使用标志来预测分类器的概率,有一个额外的函数名为
。predict\u probability
。看一看这张照片

概率是通过使用来确定的,这是一种将分类器的任意输出组合成类概率的方法


另请参见此处的答案:

是的,这是预期的,因为predict()不使用概率。这里的文档中提到了它:scikit learn.org/dev/modules/svm.html#分数和概率