我有一个很大的数据集,正在使用SwarmSVM软件包运行clusterSVM进行二进制分类,该软件包将LibLinear用于SVM。
该模型在训练集上可以正常工作。但是,当我尝试在测试集上运行预测时,出现以下错误:
cmd + k
我已经尽可能地调查了这个问题,并且无法提出模型认为测试和训练集的尺寸不同的原因:
唯一起作用的是将测试/训练比率从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