安装
- 安装
Python
,安装过程可Google教程,不在此详述; - 下载
libsvm
,下载libsvm中的.zip file
文件,解压到C:\
下 - 安装
gnuplot
,下载地址:gnuplot,建议下载4.6_win32
版本,直接安装即可。
配置
到 C:\libsvm-3.21\tools
下找到 grid.py
和 easy.py
,并复制到 C:\libsvm-3.21\windows
,打开并分别在第27行和第25行更改两者:
gnuplot_exe = r"C:\Program Files (x86)\gnuplot\bin\pgnuplot.exe"
到 数据集 下找 LIBSVM data sets
, 这次使用ala
这个数据集,a1a
为train set
,a1a.t
为 testing set
程序说明
svm-train.exe
:可以将training data
训练为model
。svm-scale.exe
:用来调整feature
的大小范围,以免有某一项feature
值太大,在算距离时主导了结果。通常将取值的范围定在[0,1]
或[-1,1]
。注意:training data
与testing data
都必须作相同程度的scale
。svm-predict.exe
:预测testing data
在已训练model
的状况。svm-toy.exe
:可以图形界面操作数据和修改参数,执行后产生分类结果。grid.py
:分类要切的好,参数就要下的好。林智仁老师写好的工具帮我们自动测试参数,不用自己动手测试。easy.py
:简化命令行下指令的操作。
使用说明
cd
到libsvm-3.21\windows
目录下,执行命令:
svm-scale.exe -s scale a1a > a1a.scale
会出现警告,不用管,继续往下…
svm-scale.exe -r scale a1a.t > a1a.t.scale
会出现警告,不用管,继续往下…
python grid.py a1a.scale
......
......
8.0 0.0078125 83.4891
svm-train.exe -c 8.0 -g 0.0078125 a1a.scale
optimization finished, #iter = 2430
nu = 0.338842
obj = -3667.375758, rho = 0.654220
nSV = 659, nBSV = 443
Total nSV = 659
svm-predict.exe a1a.t.scale a1a.scale.model a1a.t.out
Accuracy = 83.9869% (25999/30956) (classification)
没有评论:
发表评论