使用子流程运行libsvm不会创建模型

时间:2016-01-06 13:38:36

标签: python subprocess libsvm

我试图用svm-train生成20个模型。此脚本工作并打印交叉验证值,但不创建模型文件。我无法弄明白为什么,任何想法?

for i in range(1,21):
    format_libsvm(data,"test",i) # create a data file called test 
    data = "test"
    model = "model"+str(i)
    batcmd = "./libsvm-3.21/svm-train -b 1 -v 10 "+data+".scale "+model
    subprocess.call(batcmd, shell=True)
    regex_CV = 'Cross Validation Accuracy = ([0-9\.]+)%' 
    result_re = re.search(regex_CV,result)
    print (num2aa[i]+" "+result_re.group(1))

我非常感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

“交叉验证用于选择好的参数。找到它们之后,你想要在没有-v选项的情况下重新训练整个数据。” csie.ntu.edu.tw/~cjlin/libsvm/faq.html#f501

这就是我没有模型文件的原因。我的错。