从libsvm的grid.py输出“get no rate”

时间:2013-05-20 05:29:20

标签: libsvm

我已经下载了libsvm-3.17包。提取文件。我转到'tools'文件夹尝试使用grid.py来查找包中提供的数据集的合适的c和g,即heart_scale。 但是,以下是我得到的

追踪(最近一次通话):   在运行中文件“C:... \ Documents \ libsvm-3.17 \ tools \ grid.py”,第266行     如果rate为None:引发RuntimeError('get no rate') RuntimeError:没有率 工人当地退出。

有人可以帮我弄清楚如何解决这个问题。 非常感谢你。

4 个答案:

答案 0 :(得分:1)

您可能需要提前缩放数据。我得到了同样的问题,并在我缩放数据后整理出来。希望这有帮助。

答案 1 :(得分:0)

首先,如果您是libsvm的新手,我建议您尝试使用easy.py而不是grid.py.其次,在执行任何必须编译libsvm的任何内容之前,要编译README文件中给出的跟随指令(你必须确保nmake.exe,cl.exe,link.exe在系统路径中),这就是它所说的:

  

Windows二进制文件位于“windows”目录中。通过构建它们   Visual C ++,使用以下步骤:

     
      
  1. 打开DOS命令框(或Visual Studio命令提示符)并切换到libsvm目录。如果VC ++的环境变量没有   已设置,键入

         

    “C:\ Program Files \ Microsoft Visual Studio 10.0 \ VC \ bin \ vcvars32.bat”

         

    您可能必须根据哪个版本修改上述命令   VC ++或安装位置。

  2.   
  3. 类型

         

    nmake -f Makefile.win清除所有

  4.   
  5. (可选)要构建共享库libsvm.dll,请键入

         

    nmake -f Makefile.win lib

         

    另一种方法是从Visual C ++环境构建它们。查看详细信息   在libsvm FAQ。

  6.   

安装完成后,即可开始使用easy.py和grid.py.

答案 2 :(得分:0)

这是我在64位和32位机器上尝试的,grid.py工作正常。 我添加了默认安装目录,如果您的安装目录不同,则相应地进行修改。

打开命令提示符并键入

64位系统的

C:\Program Files (x86)\Microsoft Visual Studio xx\VC\bin\amd64\vcvars64.bat

对于32位系统,

OR C:\Program Files (x86)\Microsoft Visual Studio xx\VC\bin\vcvars32.bat

在同一命令提示符中导航到libsvm目录并运行 64位系统的C:\Program Files (x86)\Microsoft Visual Studio xx\VC\bin\amd64\nmake.exe -f Makefile.win

对于32位系统,

OR C:\Program Files (x86)\Microsoft Visual Studio xx\VC\bin\nmake.exe -f Makefile.win

应该在libsvm-3.xx \ windows文件夹中成功构建二进制文件

使用您的选项

运行grid.py.

在grid.py中,gnuplot.exe通常设置为tmp,这对我来说无效,所以我将grid.py中的gnuplot可执行路径更改为以下内容:

self.gnuplot_pathname = r'C:\\Program Files (x86)\\gnuplot\\bin\\pgnuplot.exe'

答案 3 :(得分:0)

如果您使用-log2p选项运行grid.py,则会获得输出get no rate。使用grid.py,您无法使用 - log2p选项。(在-log2p中搜索grid.py无匹配) 您可以在gridregression.py中使用-log2p选项。