模型为空,e1071包中的SVM

 手机用户2602882697 发布于 2023-01-09 18:11

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

1 个回答
  • 我有一次错误,原因是所有标签都是相同的,如果没有指定,svm会尝试执行两级分类.如果,例如90%的标签是A而你随机选择了一半,那么你很可能只得到As.

    2023-01-09 18:14 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有