利用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,就可以完成随机下采样的工作
这真是极好的~~