【问题标题】:Error: Undefined function or method 'svmtrain' for input arguments of type 'double'错误:“double”类型的输入参数的未定义函数或方法“svmtrain”
【发布时间】:2012-04-24 07:20:25
【问题描述】:

我在跑步

SVMStruct = svmtrain(xTrain, yTrain);

我得到的错误是

Undefined function or method 'svmtrain' for input arguments of type 'double'

我很确定 xTrain 和 yTrain 是矩阵:

size(xTrain)
ans =
544    28


size(yTrain)
ans =
544     1

知道这里发生了什么吗?

【问题讨论】:

  • 很可能问题出在您的路径上。请检查您的路径..如果不更改它...

标签: matlab svm libsvm


【解决方案1】:

听起来svmtrain 函数不在您的路径上。如果

which svmtrain

显示“svmtrain not found”,那么您应该确保您拥有生物信息学工具箱(输入ver 并查看它是否在列表中)并且它在您的path 中。

【讨论】:

    【解决方案2】:

    正如其他人所说,您可能缺少生物信息学工具箱。但也可能是您想要 LibSVM 库。我必须运行的第三方代码就是这种情况。在此处获取库:http://www.csie.ntu.edu.tw/~cjlin/libsvm/

    【讨论】:

      【解决方案3】:

      svmtrain 的第二个参数应该是整数或逻辑向量,其中每一行中的值对应于训练矩阵/向量的同一行中的值。如果您尝试为训练数据输出双精度值,听起来您的情况可能更回归。在这种情况下,您可能需要研究回归算法。如果您仍然想要多类分类,则需要相应地调整输出。

      【讨论】:

      • 将双精度数组传递给 svmtrain 不会产生此错误;如果您尝试使用 svmtrain 进行回归,它会说:“SVMTRAIN 仅支持分为两组。GROUP 包含 544 个组”。我认为只要 size(unique(yTrain)) == 2,svmtrain 就可以双打。
      【解决方案4】:

      是的,生物信息学工具箱是关键! 使用更长的密钥安装它!您将在自定义安装选择中看到它!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-16
        • 2014-05-09
        • 2013-11-09
        • 2021-07-12
        • 1970-01-01
        • 2013-09-01
        • 1970-01-01
        • 2020-07-20
        相关资源
        最近更新 更多