【问题标题】:Compute the training error and test error in libsvm + MATLAB在 libsvm + MATLAB 中计算训练误差和测试误差
【发布时间】:2014-05-28 17:32:48
【问题描述】:
我想为给定的 SVM 分类器绘制学习曲线。因此,为了做到这一点,我想计算训练、交叉验证和测试误差,然后在改变一些参数(例如,实例数m)的同时绘制它们。
当与 MATLAB 一起使用时,如何计算 libsvm 上的训练、交叉验证和测试错误?
我看到了其他答案(请参阅example),它们建议了其他语言的解决方案。
难道没有一种简洁的方法吗?
【问题讨论】:
标签:
matlab
classification
svm
libsvm
【解决方案1】:
给定一组由以下描述的实例:
- 一组功能
featureVector;
- 它们对应的
labels(例如,0 或 1),
如果先前通过libsvm 推断出model,则可以按如下方式计算MSE 错误:
[predictedLabels, accuracy, ~] = svmpredict(labels, featureVectors, model,'-q');
MSE = accuracy(2);
请注意,predictedLabels 包含分类器为给定实例预测的标签。