libsvm中有进行参数调优的工具grid.py和easy.py可以使用,这些工具可以帮助我们选择更好的参数,减少自己参数选优带来的烦扰。
所需工具:libsvm、gnuplot
本机环境:Windows7(64 bit) ,Python3.5
1、相关程序的下载和安装:
1.1、下载libsvm,我用的是libsvm-3.18.zip,下载后直接解压到任意位置,我解压到C:\libsvm-3.18下。
1.2、下载python,我下的是python-3.5.msi,双击该文件安装到默认位置,我安装到C:\Users\Administrator\AppData\Local\Programs\Python\Python35下。将该路径添加到系统环境变量中。
1.3、下载gunplot,我下的是gp460-win32-setup.exe,双击该文件安装到默认位置,我安装到C:\Program Files\gnuplot下。
2、grid.py使用
文件grid.py是对C-SVC的参数c和γ(gamma)做优选的,原理也是网络遍历,假设我们要对目录C:\libsvm-3.18\tool下的样本文件heart_scale做优选,其具体用法为:
第一步:打开C:\libsvm-3.18下的tools文件夹,找到grid.py文件。用python打开(不能双击,而要右键选择“Edit with IDLE” 或者先打开IDLE,再添加进去),修改self.svmtrain_pathname和self.gnuplot_pathname的路径。
(修改文件时要注意,要修改else下的self.svmtrain_pathname和self.gnuplot_pathname,而不是if not is win32)
第二步:运行cmd,进入dos环境,定位到C:\libsvm-3.18\tools文件夹,这里是放置grid.py的地方。
比如你的grid.py位置在“E:\SVM_Reg\grid.py”,在cmd首先输入e:,然后输入cd E:\SVM_Reg就能定位到该目录了。
第三步:输入以下命令:
python grid.py trainData.txt
其中,trainData.txt为已创建好的训练数据,并且grid.py文件与txt文件位于同一目录下面。格式如下图
第一个数字为分类标签,后面的1:为特征索引,小数位特征值。
命令行中搜索结果如下:
注:该工具只是对训练数据做参数寻优,所得到的参数并不保证测试数据以及实际使用时候的情况是最优的。