SVM预测给出“测试”和“训练”的错误暗淡不同的原因-R

时间:2019-06-12 08:09:16

标签: r svm prediction liblinear

我有一个很大的数据集,正在使用SwarmSVM软件包运行clusterSVM进行二进制分类,该软件包将LibLinear用于SVM。

该模型在训练集上可以正常工作。但是,当我尝试在测试集上运行预测时,出现以下错误:

cmd + k

我已经尽可能地调查了这个问题,并且无法提出模型认为测试和训练集的尺寸不同的原因:

  • 测试和训练数据集的列数,列顺序,数据类型和列名完全相同
  • 测试或训练数据集中没有NA或缺少数据
  • 训练和测试均已按比例缩放。实际上,首先对火车数据进行缩放,然后根据火车集对测试集进行缩放
  • 测试班和训练班都一样
  • 测试或训练中没有固定值的列(标准差为零的列)

唯一起作用的是将测试/训练比率从10%-90%更改为15%-85%。 因此,我假设错误的原因与列的值有关,当添加更多行进行测试时,列的值会消失。但是我不知道这怎么可能。数据相当大(大约200万行)。因此,测试将具有约200,000行,测试比例为10-90%。不确定为什么再增加100,000个会有区别吗?

我知道这是一个广泛/抽象的问题,但我一直无法在任何地方找到适当的解释。

如果有帮助,这些是我用于模型的参数:

Error in predict.LiblineaR(object$svm, tilde.newdata, ...) :    dims of 'test' and 'train' differ

0 个答案:

没有答案