我的训练和测试数据集的每一行都有图像中像素的强度值,最后一列的标签告诉图像中表示哪个数字;该标签可以是训练集中从0到9的任何数字,并且总是?在测试集上。
我在Weka Explorer上加载了训练数据集,通过NumericalToNominal过滤器传递数据,并使用RemovePercentage过滤器将数据按70:30的比例拆分,其中30%的文件用作交叉验证集。我建立了一个分类器并保存了模型。
然后,我加载了测试数据,其中?针对每一行的标签,应用了NumericToNominal过滤器,并将其保存为arff文件。
现在,当我加载测试数据并尝试针对它使用模型时,我总是收到错误消息"training and test set it not compatible“。
发布于 2013-01-17 20:49:45
你可以从ARFF手册(http://www.cs.waikato.ac.nz/ml/weka/arff.html)中读到:
名义值是通过提供可能值的列表来定义的:{,...}
例如,Iris数据集的类值可以定义如下:
@ATTRIBUTE class {Iris-setosa,Iris-versicolor,Iris-virginica}
因此,当你将NumericToNominal
应用于你的测试文件时,你可能会对训练和测试arff中的一个或多个属性有不同数量的可能值--这确实可能会发生,它困扰了我很多次--所以一个解决方案是手动检查你的arff的值(如果它不是太大,或者只是复制和粘贴调用arff文件,例如
@attribute 'My first binary attribute' {0,1}
(...)
@attribute 'My last binary attribute' {0,1}
从火车到测试文件-应该可以工作
发布于 2015-11-10 02:14:31
你可以使用批量过滤,在这里你可以阅读如何在weka中使用batch filtering
https://stackoverflow.com/questions/14381914
复制