我正在开发用于用户身份验证的数据集,我想将我的列车数据划分为冒名顶替者和有效用户。它有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)
我该怎么办?
答案 0 :(得分:0)
模型是SVMStruct,因此无法使用“==”进行比较。您想要做的是计算您的SVM正确预测的示例数量,并将该数字除以测试的示例总数。
我认为你必须采用以下前提条件做这样的事情:
correctLabels是适用于您的示例的标签 测试svm:
acc = sum(correctLabels == testoutput)/ numel(correctLabels)