我在python中使用回归SVM,我想知道是否有任何方法可以为其预测获取“置信度”值。
以前,当使用SVM进行二进制分类时,我能够从'margin'中计算一个置信度类型值。这是一些伪代码,显示我如何获得置信度值:
# Begin pseudo-code
import svm as svmlib
prob = svmlib.svm_problem(labels, data)
param = svmlib.svm_parameter(svm_type=svmlib.C_SVC, kernel_type = svmlib.RBF)
model = svmlib.svm_model(prob, param)
# get confidence
confidence = self.model.predict_values_raw(sample_to_classify)
我以为新样本来自训练数据的距离越远,置信度就越差,但是我正在寻找一个可以帮助计算出合理估计值的函数。
我的(高级)问题如下:
我有一个函数F(x),其中x是高维向量
F(x)可以计算,但是非常慢
我想训练回归SVM使其近似
如果我能找到预测可信度较低的'x'值,则可以添加这些点并进行重新训练(又称主动学习)
之前有没有人获得/使用过回归SVM置信度/边距值?
最佳答案
看看一月份在Stack上的类似反应。选择的答案是关于在非参数拟合方法上获得置信度的难点。您可能可以做一些贝叶斯类型的事情,但是Python SVM库Prefer one class in libsvm (python)可能是不可能的。
关于python - 在python中使用SVM的回归置信度,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5148168/