2010年(2)
分类: LINUX
2010-10-17 17:19:20
操作系统:linux
要解决的流程如下:
(1):现有一文件命名为file1.txt,文件的格式用写字板打开后如下所示:
上面所示文件有着很好的规律性,即先是几千个第一列以一开头的行数据,后面紧跟着几千个第一列以0开头的行数据,现在要做的就是将上面的文件file.txt分成两个文件file1.txt(以1开头的行数据)和file2.txt(以0开头的行数据)。Ps:这步用匹配模式识别应该就可以将其分开。
(2):
如下图所示界面,对得到的文件file1,file2进行处理。
在linsvm-2.91的目录下在终端执行命令:./svm-scale –s range file1>file1.scale和命令:./svm –r range file2>file2.scale。
执行命令结束后会发现在libsvm-2.91 的目录下有两个文件分别为file1.scale 和file2.scale。
(3)对得到的文件file1.scale和file2.scale 放在linsvm-2.91/tools目录下。
在libsvm-2.91/tools的目录下在终端执行命令:./python –s 1 subset.py file1.scale 3883 file3 file4
同时执行命令:./python –s 1 subset.py file2.scale 800 file5 file6
执行此两命令后会在tools的目录下得到四个文件file3 file4 file5 file6
(4)把得到的file3文件和file5 文件合并为一个文件file7,
然后在libsvm-2.91的目录下在终端执行命令:./svm-train file7
在libsm-2.91 的目录下得到预测模型文件file7.model
(5)
用得到的预测模型文件file7.model分别对file4和file6进行预测
用法为:在libsvm-2.91的目录下在终端执行命令:./svm-predict file4 file7.model file4.predict
举个例子,执行此命令后,终端上会显示Accuracy=80%(136/170)(classification),把所得到的
这个结果保存在文件file8中
同样在libsvm-2.91的目录下在终端执行命令:./svm-predict file6 file7.model file6.predict,同理把得到的如上所述保存在文件file9中
(6)把第二步到第五步的操作循环执行100次,所得到的最后结果依次保存在文件file8和file9中。