您的位置:首页 > 其它

SVM中如何使用grid.py

2011-03-01 19:58 267 查看
在用grid.py进行较差验证之前

1、需要安装python,安装完成后将安装目录写到系统环境变量中,例如:D:\Program Files\python;。

2、下载绘图工具gnuplot,不需要安装,直接解压后放到合适位置

3、在tools文件夹中打开grid.py,用python打开(不能双击,而要右键选择“Edit with IDLE”),修改svmtrain_exe和gnuplot_exe的路径。

例如: svmtrain_exe = r"D:\libSVM\program\svm-train.exe"

gnuplot_exe = r"D:\libSVM\gnuplot\pgnuplot.exe"

(这里面有一个是对非win32的,可以不用改,只改# example for windows下的就可以了)

注意:Program Files要写成Progra~1,Document and Settings要写成Docume~1 路径中不要有中文

4、运行cmd,进入dos环境,定位到d:\libsvm\program\tools文件夹,这里是放置grid.py的地方。为了简单,最好将特征文件也放到这个文件夹下

5、输入以下命令:

python grid.py heart_scale

你就会看到dos窗口中飞速乱串的[local]数据,以及一个gnuplot的动态绘图窗口。大约过10秒钟,就会停止。Dos窗口中的[local]数据时局部最优值,这个不用管,直接看最后一行:

2048.0 0.0001220703125 84.0741

其意义表示:C = 2048.0;g=0.0001220703125 交叉验证精度CV Rate = 84.0741%,这就是最优结果。

6、打开目录d:\libsvm\program\tools,我们可以看到新生成了两个文件:heart_scale.out和heart_scale.png,第一个文件就是搜索过程中的[local]和最优数据,第二文件就是gnuplot图像。

现在,grid.py已经运行完了,你可以把最优参数输入到svmtrain中进行训练了。当然了,你在当中某一步很可能出现问题,不过不要紧,我也不是一下子成功的,摸索了半天才成功。下面就需要注意的问题说明一下:

1)grid.py和svm-train的版本要统一,也就是说你不能用2.6的grid.py去调用2.89的svm-train。

2)你的目录中如果有空格,比如d:\program files\ libsvm\...,那么无论是在第一步还是第二步,请把目录改成d:\progra~1\ libsvm\...

3) 第三步的命令问题。首先要看你定位到哪个目录,那么其下的文件就不需要带路径,否则就要带。像我们上面的命令,我当前的目录是d:\libsvm\program\tools,那么其下的easy.py和heart_scale文件就不需要加路径,而python.exe是在d:\libsvm\python26\下,因此不在当前目录下,所以要加路径。比如,当我首先用dos定位到d:\libsvm\python26时,其命令就可以改成:

python d:\libsvm\program\tools\grid.py d:\libsvm\program\tools\heart_scale

总起来说,命令为python 目标文件 样本文件,其原则是要让系统找得到文件。假如系统提示你“不是内部或外部命令”,说明你python的路径错误,而如果是‘not found file’的提示,很可能是其他两个文件路径错误。

4)假如,你仍旧出现问题,那么请换一下python或者gnuplot的版本,目前python最新版本是3.1,但是好像会出问题,老一点的版本2.4或2.5的兼容性会更好。

转自:http://www.360doc.com/content/11/0103/11/5316402_83555125.shtml

几个好的博客地址:

http://blog.csdn.net/AlextoWarson/archive/2009/11/12/4801245.aspx

http://blog.sina.com.cn/s/blog_52db5f740100bq8z.html

http://blog.csdn.net/chl033/archive/2009/08/01/4400502.aspx

http://hi.baidu.com/%D0%A1%BD%AD%BD%AD8/blog/item/a42c533c345a8ace7c1e71e6.html

http://hi.baidu.com/jrckkyy/blog/item/9dc99a34f474a0365ab5f585.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: