我正在自学分类,我阅读并理解了使用 Fisher iris 数据集的简单 LDA 分类器的 MatLab 在线帮助。
我现在已经转向 SVM。但即使我使用帮助页面中的确切语法,我也会收到输入参数不足或太多的错误。
我已经通过以下命令使用 svmtrain
训练了我的 SVMClassifier:
SVMStruct = svmtrain(training,labels);
其中 training
是 207 x 900 的训练矩阵。有 207 个样本和 900 个 HoG 描述符或特征。同样,labels
是一个 207 x 1 列向量,由各自样本的 +1
或 -1
组成。
然后我想测试它并通过调用看看这是否有效:
Group = svmclassify(SVMStruct,sample,'Showplot',true)
其中 sample
是包含 2 个测试样本的 2 x 900 矩阵。我期望得到 +1
和 -1
因为这些是测试样本应该标记的内容。但我收到错误:
Too many input arguments.
当我使用命令时
Group = svmclassify(SVMStruct,sample)
我收到错误
Not enough input arguments.
最佳答案
您可能重载了 svmclassify
函数。
尝试一下
>> which svmclassify
验证您是否确实调用了正确的函数。
如果您重载了该函数(即创建了具有相同名称 svmclassify
的不同函数)并且它位于您的路径
的较高位置,那么您将需要重命名重载函数并再次运行svmclassify
。
关于matlab - 调用函数并获取 - 输入参数不足,即使语法正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24889984/