r - 模型为空,e1071 包中的 SVM

标签 r classification svm

我有一个包含 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 而你随机选择一半,你可能只得到
作为。

关于r - 模型为空,e1071 包中的 SVM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24163316/

相关文章:

machine-learning - 什么是距离敏感数据,它与其他数据有何不同?任何例子都会有帮助

matlab - MATLAB 中神经网络分类的 10 倍交叉验证示例

c# - Encog 中的多类 SVM 分类

java - libsvm 适用于多输出回归吗?

r - 将单个图上的多个直方图绘制为 .pdf 作为 R 批处理脚本的一部分

r - R中的“as.data.frame”中的“col.names”有什么作用?

R:查找值是否在其行中任何其他值的一定百分比范围内

matlab - Mnist数据集模式识别准确率

svm - 我怎么知道支持向量机中的predict()函数预测的类的概率?

r - 按组列列表的平均值