在libsvm + MATLAB中计算训练误差和测试误差



我想为给定的SVM分类器绘制学习曲线。因此,为了做到这一点,我想计算训练、交叉验证和测试误差,然后在改变一些参数(例如,实例数m)的情况下绘制它们。

如何用MATLAB计算libsvm上的训练、交叉验证和测试误差?

我看到其他的答案(见例子),建议解决方案的其他语言。

没有紧凑的方法吗?

给定一组实例:

    featureVector;
  • 它们对应的labels(例如,0或1),

如果之前通过libsvm推断出model,则MSE误差可以按如下方式计算:

[predictedLabels, accuracy, ~] = svmpredict(labels, featureVectors, model,'-q');
MSE = accuracy(2);

注意,predictedLabels包含了分类器为给定实例预测的标签。

最新更新