【问题标题】:Get a probability out of svm从 svm 中获取概率
【发布时间】:2016-10-03 20:26:43
【问题描述】:

我已经训练了一个包含 6 个类的 SVM。

在 OpenCV 中使用 SVM 时是否可以得到概率?

谢谢。

【问题讨论】:

  • CvSVM::predict 将给出一个估计的函数值。
  • predict 返回预测类而不是概率 float res = svm->predict(testDataMat);
  • 我想得到概率结果
  • 我怎样才能得到每个点和超计划之间的距离?
  • 这能回答你的问题吗? OPencv SVM predict probability

标签: c++ opencv svm probability


【解决方案1】:

SVM 不提供输出类的概率,而是提供预测类的欧几里得距离。

predict 调用之后,将通过pred 向您返回班级编号

cv::Mat pred;
cv::Mat sample; 

...
svm->predict(sample, pred);

Following 会通过pred 为您提供欧几里得距离

svm->predict(sample, pred, cv::ml::StatModel::RAW_OUTPUT);

【讨论】:

    【解决方案2】:

    SVM 不是概率分类器,因此无法获得实际概率。你可以从 SVM 得到一个分值:returnFDValue 这个值可以像概率一样被解释。

    double cv::ml::SVM::predict(const cv::Mat & data, double & returnFDValue); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-28
      • 2013-05-22
      • 2016-08-26
      • 2018-09-05
      • 1970-01-01
      • 2016-10-29
      • 2015-07-29
      • 2017-07-18
      相关资源
      最近更新 更多