【问题标题】:Model is empty, SVM in e1071 package模型为空,e1071 包中的 SVM
【发布时间】:2014-08-01 12:48:39
【问题描述】:

我有一个包含 N 个示例 x 765 个特征的矩阵。为此,每个示例都有一个包含 N 个标签的向量。

我正在尝试使用 SVM 对它们进行分类并进行预测。当我使用手动半拆分将整个数据拆分为训练和验证时,它在一个实例中起作用:

indicator<-1:(length(idx)/2)
training <- idx[indicator]
test<-idx[-indicator]

但是,如果我尝试使用以下方法将循环中每个类的一半随机化:

indicator<-sample(idx, trunc(length(idx)/2))
training <- idx[indicator]
test<-idx[-indicator]

调用时出现如下错误:

svm.model <- svm(x=training,y=trainlabels)

Error in predict.svm(ret, xhold, decision.values = TRUE) : Model is empty!

矩阵的尺寸和标签的长度都非常好,svm() 调用会突然停止工作。

trainlabels 是带有标签的“因子”,svmTraining 是矩阵的子集。

【问题讨论】:

    标签: r classification svm


    【解决方案1】:

    我曾经遇到过这个错误,原因是所有标签都相同,如果没有的话 指定时,支持向量机尝试执行二分类。 如果,假设 90% 的标签是 A,而您随机选择一半,您可能只会得到 作为。

    【讨论】:

      猜你喜欢
      • 2022-06-30
      • 2011-11-15
      • 2023-03-18
      • 2019-01-21
      • 2015-06-20
      • 1970-01-01
      • 2013-01-12
      • 2020-02-13
      • 2012-06-16
      相关资源
      最近更新 更多