我教自己分类,我阅读并理解使用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)
我收到错误
没有足够的输入参数。
答案 0 :(得分:1)
您可能已经超载了svmclassify
功能
尝试
>> which svmclassify
验证您实际上正在调用正确的函数。
如果你重载了这个函数(也就是说,创建了一个具有相同名称svmclassify
的不同函数)并且它位于path
的更高位置,那么你需要重命名重载函数并再次运行svmclassify
。