【问题标题】:how much time does grid.py take to run?grid.py 运行需要多少时间?
【发布时间】:2011-01-25 19:29:09
【问题描述】:

我正在使用 libsvm 进行二进制分类..我想尝试 grid.py ,因为据说可以改善结果..我在不同的终端中为五个文件运行了这个脚本,并且该脚本已经运行了超过 12 个小时..

这是我现在 5 个终端的状态:

[root@localhost tools]# python grid.py sarts_nonarts_feat.txt>grid_arts.txt
Warning: empty z range [61.3997:61.3997], adjusting to [60.7857:62.0137]
         line 2: warning: Cannot contour non grid data. Please use "set dgrid3d".
Warning: empty z range [61.3997:61.3997], adjusting to [60.7857:62.0137]
         line 4: warning: Cannot contour non grid data. Please use "set dgrid3d".

[root@localhost tools]# python grid.py sgames_nongames_feat.txt>grid_games.txt
Warning: empty z range [64.5867:64.5867], adjusting to [63.9408:65.2326]
         line 2: warning: Cannot contour non grid data. Please use "set dgrid3d".
Warning: empty z range [64.5867:64.5867], adjusting to [63.9408:65.2326]
         line 4: warning: Cannot contour non grid data. Please use "set dgrid3d".

[root@localhost tools]# python grid.py sref_nonref_feat.txt>grid_ref.txt
Warning: empty z range [62.4602:62.4602], adjusting to [61.8356:63.0848]
         line 2: warning: Cannot contour non grid data. Please use "set dgrid3d".
Warning: empty z range [62.4602:62.4602], adjusting to [61.8356:63.0848]
         line 4: warning: Cannot contour non grid data. Please use "set dgrid3d".

[root@localhost tools]# python grid.py sbiz_nonbiz_feat.txt>grid_biz.txt
Warning: empty z range [67.9762:67.9762], adjusting to [67.2964:68.656]
         line 2: warning: Cannot contour non grid data. Please use "set dgrid3d".
Warning: empty z range [67.9762:67.9762], adjusting to [67.2964:68.656]
         line 4: warning: Cannot contour non grid data. Please use "set dgrid3d".

[root@localhost tools]# python grid.py snews_nonnews_feat.txt>grid_news.txt
Wrong input format at line 494
Traceback (most recent call last):
  File "grid.py", line 223, in run
    if rate is None: raise "get no rate"
TypeError: exceptions must be classes or instances, not str

我已将输出重定向到 files ,但这些文件现在什么都不包含.. 并且,创建了以下文件:

  • sbiz_nonbiz_feat.txt.out
  • sbiz_nonbiz_feat.txt.png
  • sarts_nonarts_feat.txt.out
  • sarts_nonarts_feat.txt.png
  • sgames_nongames_feat.txt.out
  • sgames_nongames_feat.txt.png
  • sref_nonref_feat.txt.out
  • sref_nonref_feat.txt.png
  • snews_nonnews_feat.txt.out (--> 为空)

.out 文件中只有一行信息..
“.png”文件是一些 GNU PLOTS。

但我不明白上面的 GNUplots / 警告传达了什么......我应该重新运行它们吗?

如果每个输入文件包含大约 144000 行,任何人都可以告诉我这个脚本可能需要多长时间..

感谢和问候

【问题讨论】:

    标签: machine-learning gnuplot libsvm


    【解决方案1】:

    我猜grid.py 正在尝试找到 C(或 Nu)的最佳值?

    我不知道它需要多长时间,但你可能想试试这个 SVM 库,即使它是一个 R 包:svmpath

    如该页所述,它将计算一个两类 SVM 分类器的整个“正则化路径”,其时间与使用惩罚参数 C(或 Nu)的一个值训练 SVM 所需的时间差不多。

    因此,与其对 C 参数值为 x 的 SVM 进行训练和交叉验证,然后对 C 的值 x+1、x+2 等再次执行所有这些操作。您可以只训练 SVM一次,然后查询其对不同 C 值的预测性能事后,可以这么说。

    【讨论】:

      【解决方案2】:

      变化:

      if rate is None: raise "get no rate"
      

      grid.py 的第 223 行中:

      if rate is None: raise ValueError("get no rate")
      

      另外,尝试添加:

      gnuplot.write("set dgrid3d\n")
      

      grid.py的这一行之后:

      gnuplot.write("set contour\n")
      

      这应该可以解决您的警告和错误,但我不确定它是否会起作用,因为grid.py 似乎认为您的数据没有rate

      【讨论】:

        【解决方案3】:

        您的数据非常庞大,有 144 000 行。所以这需要一些时间。我使用了像你这样的大数据,最多需要一个星期才能完成。如果您使用图像,我想您是这样,因此数据很大,请在创建数据之前尝试调整图像大小。调整图像大小后,您应该得到大致相同的结果。

        【讨论】:

          【解决方案4】:

          libSVM 常见问题解答解答了您的问题:

          问:为什么 grid.py/easy.py 有时会产生以下警告信息? 警告:空 z 范围 [62.5:62.5],调整为 [61.875:63.125] 注意:不能轮廓非网格数据! 没有任何问题,请忽略该消息。绘制轮廓时来自gnuplot。

          附带说明,您可以并行化您的 grid.py 操作。 libSVM 工具目录的 README 文件对此事有这样的说法:

          平行网格搜索

          您可以通过将作业分派到 共享相同文件系统的计算机集群。首先,您添加 grid.py 中的机器名称:

          ssh_workers = ["linux1", "linux5", "linux5"]

          然后设置您的 ssh,以便在没有身份验证的情况下进行身份验证 询问密码。

          同一台机器(例如这里的 linux5)可以被多次列出,如果 它有多个 CPU 或更多 RAM。如果本地机器是 最好,您还可以放大 nr_local_worker。例如:

          nr_local_worker = 2

          在我的Ubuntu 10.04安装grid.py其实是/usr/bin/svm-grid.py

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2015-05-11
            • 1970-01-01
            • 2018-06-03
            • 2013-06-17
            相关资源
            最近更新 更多