利用shuf对数据记录进行随机采样

最近在用SVM为分类器做实验,但是发现数据量太大(2000k条记录)但是训练时间过长...让我足足等了1天的啊!有人指导说可以先进行一下随机采样,再训练,这样对训练结果不会有太大影响(这个待考证)。所以就对数据进行了一下降采样,具体方法如下:

shuf data | head -n 100000

其中,我的数据是在txt文件中存储的,基本格式是:

record 1 xxxxx
record 2 xxxxx
record 3 xxxxx
record 4 xxxxx
 ...........
record n xxxxx

 ===========================================================================================================================

今天发现Ubuntu的软件库中居然有libsvm!直接

sudo apt-get install libsvm-tools

就可以安装得到了....并且不需要弄什么软连接或者环境变量就可以在命令行使用....还有有完整的manual page

并且发现这里还有一个工具:svm-subset,就可以完成随机下采样的工作

这真是极好的~~

posted @ 2014-08-01 12:23  Beanocean  阅读(728)  评论(0编辑  收藏  举报