目前我正在使用libsvm(Java)来解决我的一类分类问题。我通过svm_scale扩展了我的训练数据和测试数据,问题在于,libsvm在缩放的测试数据文件中包含训练数据和测试数据。所以例如我的训练数据包含10个样本,我的测试数据包含5个样本,结果类似于
Accuracy: xx.xx% (14/15) (classification)
我期待的是
Accuracy: xx.xx% (4/5) (classification)
这应该是我的错还是libsvm?
非常感谢你。
P / S代码:
String[] parametersForTrainSVMScale = {"-l", "-1", "-u", "1", "-s", range, rawTrainFileName};
writeFile(svm_scale.scale(parametersForTrainSVMScale), scaledTrainFileName);
String[] parametersForTestSVMScale = {"-r", range, rawTestFileName};
writeFile(svm_scale.scale(parametersForTestSVMScale), scaledTestFileName);
String[] parametersForSVMTrain = {"-s", "2", "-t", "2", "-n", "0.1", "-c", String.valueOf(c), "-g", String.valueOf(g), "-b", "0", scaledTrainFileName, modeledFileName};
svm_train.main(parametersForSVMTrain);
String[] parametersForSVMPredict = {"-b", "0", scaledTestFileName, modeledFileName, testedFileName};
svm_predict.main(parametersForSVMPredict);