调用函数时遇到“输入参数不足”的错误,尽管语法正确

我正在自学分类,我阅读并理解了MatLab在线帮助中关于使用fisher iris数据集的简单LDA分类器的内容。

现在我转向了SVM。尽管我使用了帮助页面上的确切语法,但我还是收到了输入参数不足或过多的错误信息。

我已经使用svmtrain命令训练了我的SVM分类器,命令如下:

SVMStruct = svmtrain(training,labels);

其中training是一个207行900列的训练矩阵,包含207个样本和900个HoG描述符或特征。同样,labels是一个207行1列的列向量,包含每个样本的+1-1标签。

然后我想测试它,看看是否有效,调用命令如下:

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

其中sample是一个2行900列的矩阵,包含2个测试样本。我期望得到+1-1,因为这些是测试样本应有的标签。但我收到了错误信息:

输入参数过多。

当我使用以下命令时

Group = svmclassify(SVMStruct,sample)

我得到了错误信息

输入参数不足。


回答:

你可能重载了svmclassify函数。
尝试

>> which svmclassify

来验证你是否确实调用了正确的函数。

如果你重载了该函数(即,创建了一个同名svmclassify的不同函数),并且它在你的path中位置更高,那么你需要重命名重载的函数,然后再次运行svmclassify

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注