获得svm的概率

时间:2016-06-03 17:08:42

标签: c++ opencv svm probability

我已经培训了一个包含6个班级的SVM。

在OpenCV中使用SVM时是否有可能获得概率?

谢谢。

2 个答案:

答案 0 :(得分:0)

SVM不是一种probalistic分类器,因此没有你可以获得的实际概率。您可以从SVM获得的是得分值:returnFDValue此值可以像概率一样被插入。

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

答案 1 :(得分:0)

SVM没有为输出类别提供概率,而是为预测类别提供了欧几里得距离。

function unique(arr) { var hash = {}, result = []; for (var i = 0, l = arr.length; i < l; ++i) { if (!hash.hasOwnProperty(arr[i])) { hash[arr[i]] = true; result.push(arr[i]); } } return result; } db.collection.find({}).forEach(function (doc) { db.collection.update({ _id: doc._id }, { $set: { "favorites.books": unique(doc.favorites.books) } }); }) 之后,您将通过predict返回班级编号

pred

然后跟随将通过cv::Mat pred; cv::Mat sample; ... svm->predict(sample, pred); 为您提供欧几里德距离

pred