matlab中的svm精度代码

时间:2014-10-07 18:48:34

标签: matlab svm

我正在开发用于用户身份验证的数据集,我想将我的列车数据划分为冒名顶替者和有效用户。它有31个功能和51个用户。

我有200个列车样本和200个样本供测试。这是我的代码:

ttrain=[train;train2]    
group=[repmat(1,100,1);repmat(2,100,1)]     
model=svmtrain(ttrain,group,'kernel_function','rbf')     
testoutput=svmclassify(model,test,'Showplot','false')  

但是当我想用下面的代码计算准确度时,它会显示错误: "Undefined function 'eq' for input arguments of type 'struct'."

acc = sum(model == testoutput) ./ numel(testoutput)     

我该怎么办?

1 个答案:

答案 0 :(得分:0)

模型是SVMStruct,因此无法使用“==”进行比较。您想要做的是计算您的SVM正确预测的示例数量,并将该数字除以测试的示例总数。

我认为你必须采用以下前提条件做这样的事情:

  • correctLabels是适用于您的示例的标签 测试svm:

    acc = sum(correctLabels == testoutput)/ numel(correctLabels)