【问题标题】:Using multiple training files in libsvm在 libsvm 中使用多个训练文件
【发布时间】:2015-03-10 20:57:24
【问题描述】:

我正在尝试使用 libsvm 训练二进制分类器。 我的数据量很大,我需要知道有什么方法可以将输入数据分成不同的文件并输入到 train 函数中。

所以基本上我知道这一点: svm-train 火车文件

我想知道是否有办法: svm-train train_file1 train_file2 train_file3.....

有人知道怎么做吗?

【问题讨论】:

  • 您已经通过拆分文件提出了解决方案。最初的问题是什么?文件系统?训练时间?元训练时间(grid.py)?
  • @stefan 据我所知,无法拆分文件并将它们输入到库中,并且想要一种方法将所有拆分文件作为输入提供给库。

标签: svm libsvm


【解决方案1】:

来自libsvm的FAQ's

对于大问题,请指定足够的缓存大小(即-m)。您只能训练数据的一个子集。您可以使用“工具”目录下的程序subset.py来获取随机子集。

【讨论】:

  • 感谢我阅读了常见问题解答,这不是我正在寻找的解决方案。我不能妥协于我提供的数据量
  • 基本上我都要用完
  • @MonsieurBeilto 你试过使用 -m 吗?对于大数据,libsvm 通常会因为没有内存而崩溃。通过使用 -m 你可以指定代码来分配更多的缓存大小。经验法则是您需要将 -m 设置为数据集大小的 3 倍。即,如果您的数据为 500 mb,则必须将 -m 设置为 1500。另请注意,并非所有系统都可以分配 1500 mb 并且可能会继续崩溃,因此请尝试使用不同的 -m 值(1000、1500、2000 .. )。希望它会奏效。
猜你喜欢
  • 2013-08-17
  • 2013-10-18
  • 2014-06-11
  • 2012-02-27
  • 2016-02-22
  • 2019-04-23
  • 2011-01-25
  • 2011-07-04
  • 2013-06-11
相关资源
最近更新 更多