0

我正在将 LibSVM 与 Python 一起使用。在构建我的分类器之前,我想绘制不同值的交叉验证的平均误差,d并在平均准确度方面C找到最佳(d, C)组合。我编写了一个 Python 脚本来交叉验证特定d, C值,并且交叉验证的十次迭代中的每一次的输出都出现在屏幕上。我现在有两个问题:

  1. 如何编写一个 Python 脚本,将变量dC值作为函数中的参数svm_parametersvm_parameter('-d dval')给出错误:

    ValueError : invalid literal for int() with base 10:dval
    
  2. 如何记录输出数据——除非我从 UNIX 屏幕手动复制它,否则我找不到保存每个分类准确度的方法。有没有办法访问和保存输出文件?

谢谢你。我是 Python 新手。

4

1 回答 1

1

我强烈建议您使用出色的sklearn库来完成您的任务。它还具有 LibSVM 的包装器(请参阅svm.SVC),但此外还为您提供了所有必要的交叉验证工具、使用网格搜索找到最佳 d 和 C、使用度量模块测量准确性的简单方法和一个巨大的许多其他有用的工具。

关于 valuerror,python 尝试将字符串 dval 转换为整数。您可能想要执行类似的操作svm_parameter('-d %s' % dval),如果dval是保存 的值的变量d

于 2013-04-18T21:01:32.157 回答