繁体   English   中英

型号为空,SVM在e1071封装中

[英]Model is empty, SVM in e1071 package

我有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是矩阵的子集。

我一次遇到该错误,原因是所有标签都相同,并且如果未指定任何内容,则svm尝试执行两类分类。 如果说90%的标签是A,而您随机挑选了一半,则您可能只会获得As。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM