【问题标题】:Using SVM from e1071 in R在 R 中使用来自 e1071 的 SVM
【发布时间】:2015-12-27 21:53:33
【问题描述】:

我正在尝试使用来自e1071 工具包的svm 模型, 简直像

模型

每个实例的原始标签形式是数组 [0,0,0,0,0,1,0,0,0]

但从这里我会得到 错误

 Error in predict.svm(ret, xhold, decision.values = TRUE) : 
 test data does not match model !

然后,如果每个标签都转换为一个整数,那就没问题了。 那么是不是函数svm只是不把数组作为输出标签?

【问题讨论】:

  • 欢迎来到 SO。要获得更好的帮助,请尝试发送reproducible example
  • 如果没有可重现的示例,很难判断,但我建议确保您的测试数据中存在的所有变量也存在于您的训练数据中。

标签: r svm


【解决方案1】:

来自 e1071 文档:

y - a response vector with one label for each row/component of x. Can 
be either a factor (for classification tasks) or a numeric vector (for  
regression).

这意味着 e1071 的 svm 期望每个实例都有 一个 标签。看起来你有 9 个类,表示为 0-1 矩阵。具有 9 个级别的因子向量应该可以工作。可以这样做:

labels <- as.factor(max.col(labels))

【讨论】:

    猜你喜欢
    • 2012-06-16
    • 2011-11-15
    • 2019-01-21
    • 2020-02-09
    • 2016-09-06
    • 2014-01-09
    • 2016-08-13
    • 2015-06-20
    • 2023-03-18
    相关资源
    最近更新 更多