svm 预测标签的概率输出

转载自:http://blog.csdn.net/xuhaijiao99/article/details/14519941

对于图片或文本,如果童鞋们需要初试分类效果,在MatLab做实验是比较简单的。例如:使用Libsvm库函数svmtrain()训练学习出一个模型Factor, 然后代入Factor,得到预测标签向量Predict_label。


但是,这些都是人家的工作,假若我们加入自己的思路呢?例如:对于图片分类实验,预测标签的时候,加入K阶标签共现值呢?你或许不是仅仅得到预测标签Predict_label,而是希望得到标签概率向量 Scores,输出概率值。


在Libsvm下怎么做?简单。
Factor = svmtrain(train_label, train_data, '-b 1');
[predicted_label, accuracy, Scores] = svmpredict(test_label, test_data, Factor, '-b 1');
这里,-b 1表示打开概率输出开关。默认是:-b 0,不输出概率值。
训练标签:train_label,
训练数据:train_data,
预测标签:predicted_label,
测试数据:test_data
  查准率:accuracy
标签概率:Scores


若是完全忽略掉predicted_label(预测标签向量), accuracy(查准率),则libsvm函数写为:
test_label = zeros(size(X_te,1), 1);% 哑元test_label
Factor = svmtrain(train_label, train_data, '-b 1');
[~, ~, Scores] = svmpredict(test_label, test_data, Factor, '-b 1');


建议拿点真实的、靠谱的公开数据集玩玩。例如:Corel 5K等等。太多啦。


当然,这里,我们还仅仅是只谈论多类单标签(Multi Class & Single Label)问题。而没有涉及多类多标签(Multi Class & Multi Label)问题。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值