python中grid的用法_SVM中如何使用grid.py
在用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的兼容性会更好。
几个好的博客地址:
python中grid的用法_SVM中如何使用grid.py相关推荐
- mysql中去重的用法_mysql中去重 distinct 用法
在使用MySQL时,有时需要查询出某个字段不重复的记录,这时可以使用mysql提供的distinct这个关键字来过滤重复的记录,但是实际中我们往往用distinct来返回不重复字段的条数(count( ...
- python 字典定义日志用法_python中字典(Dictionary)用法实例详解
本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映射结构的数据类型,由无序的"键-值对"组成. ...
- python中max函数用法_Python中max函数用法实例分析
Python中max函数用法实例分析 更新时间:2015年07月17日 15:45:09 作者:优雅先生 这篇文章主要介绍了Python中max函数用法,实例分析了Python中max函数的功能与使用 ...
- python中print的用法_Python中print函数简单使用总结
Python中print函数简单使用总结 print函数是Python的入门,每一个学习python的人都绕不开这个函数,下面介绍一下这个函数的用法. 打开电脑,选择python软件,下面选择pyth ...
- python常用函数的用法_python中常用函数整理
1.map map是python内置的高阶函数,它接收一个函数和一个列表,函数依次作用在列表的每个元素上,返回一个可迭代map对象. class map(object):""&qu ...
- python中lambda()的用法_python中lambda()的用法
在C++11和C#中都有匿名函数的存在.下面看看在python中匿名函数的使用. 1.lambda只是一个表达式,函数体比def简单很多. 2.lambda的主体是一个表达式,而不是一个代码块.仅仅能 ...
- [转载] python里字典的用法_python中字典(Dictionary)用法实例详解
参考链接: Python字典dictionary copy方法 本文实例讲述了python中字典(Dictionary)用法.分享给大家供大家参考.具体分析如下: 字典(Dictionary)是一种映 ...
- python中replace的用法_python中replace的用法是什么?
python中replace的用法是什么? Python replace() 方法把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数max,则替换不超过 max 次. r ...
- python中sleep函数用法_python中sleep函数用法实例分析
本文实例讲述了python中sleep函数用法.分享给大家供大家参考.具体如下: Python中的sleep用来暂停线程执行,单位为秒 #------------------------------- ...
- python中sleep的用法_python中sleep函数用法实例分析
本文实例讲述了python中sleep函数用法.分享给大家供大家参考.具体如下: Python中的sleep用来暂停线程执行,单位为秒 #------------------------------- ...
最新文章
- linux 修改java版本_Linux 有问必答:如何在 Linux 中改变默认的 Java 版本
- 模式设计概述:代理者模式
- stm32 udp连续发送大量数据_TCP和UDP详解
- SpringBoot异常处理-@ExceptionHandler
- oracle插入数据语句实例,oracle Insert 用法总结
- Android Scrollview嵌套RecyclerView导致滑动卡顿问题解决(屡试不爽)
- 洛谷P1373 小a和uim之大逃离 动态规划
- Linux内核线程kernel thread详解--Linux进程的管理与调度
- Android NDK JNI C++ 3
- UVA230 WF5169 POJ1886 Borrowers【map+set】
- Cordova开发总结(插件篇)
- vs 2013远程调试
- html侧边导航栏,浮动侧边导航栏的基本布局
- 9月20-21日,十位阿里技术大牛带你玩转大流量与高并发
- html 图片右侧空白,CSS缩小窗口时,背景图出现右侧空白
- dfs、bfs的终于弄明白了
- python图片转手绘_python图片转素描软件
- 』 [大话IT]我编的计算机基础教材,大家批判批判
- 南邮-NCTF2022 WRITE UP
- DS18B20温度传感器——测试环境温度及代码