如何使用libsvm获取概率输出

How to use libsvm to get probability output

我想在 LIBSVM 中使用 -b 选项,但在 Matlab 中找不到示例用法。当我尝试写这个时:

svmtrain(bow, [1;0;0;0;0;0;0;0], '-b 1');

我收到 "Wrong number of arguments" 错误。当我从参数中删除 '-b 1' 时,在 svmpredict 中我只得到 0 或 1 结果。我想要概率结果。我该怎么做?

谢谢

您调用的 svmtrain 函数不是 libsvm - 它是 Matlab 的统计工具箱 svmtrain.m!

使用which svmtrain查看实际调用了哪个文件。确保您使用 libsvm 的 make 来编译必要的 libsvm mex 文件,并且它们位于 Matlab 的路径中。在我的安装中,我将 libsvm 的 svmtrain 和 svmpredict mex 文件重命名为 libsvm_svmtrain 和 libsvm_svmpredict 以避免这种歧义。