调用函数和获取 - 没有足够的输入参数,即使语法是正确的

时间:2014-07-22 14:23:33

标签: matlab machine-learning classification svm

我教自己分类,我阅读并理解使用fisher虹膜数据集的简单LDA分类器的MatLab在线帮助。

我现在已转移到SVM。但即使我使用帮助页面中的确切语法,我也会收到一个错误,即输入参数不够或太多。

我通过以下命令使用svmtrain训练了我的SVMClassifier:

SVMStruct = svmtrain(training,labels);

其中training是207乘900训练矩阵。有207个样本和900个HoG描述符或特征。同样地,labels是一个207 x 1列向量,包含+1-1各自的样本。

然后我想测试它,看看它是否有效:

Group = svmclassify(SVMStruct,sample,'Showplot',true)

其中sample是2乘900的矩阵,包含2个测试样本。我希望获得+1-1,因为这些是应该标记的测试样本。但是我得到了错误:

  

输入参数太多。

当我使用命令

Group = svmclassify(SVMStruct,sample)

我收到错误

  

没有足够的输入参数。

1 个答案:

答案 0 :(得分:1)

您可能已经超载了svmclassify功能 尝试

>> which svmclassify

验证您实际上正在调用正确的函数。

如果你重载了这个函数(也就是说,创建了一个具有相同名称svmclassify的不同函数)并且它位于path的更高位置,那么你需要重命名重载函数并再次运行svmclassify