【转】Windows下使用libsvm中的grid.py和easy.py进行参数调优
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的地方。
第三步:输入以下命令:
python grid.py heart_scale
你就会看到dos窗口飞速乱串的[local]数据,以及一个gnuplot的动态绘图窗口。大约过10秒钟,就会停止。Dos窗口中的[local]数据是局部最优值,这个不用管,直接看最后一行:
2048.0 0.0001220703125 84.0741
其意义表示:C=2048.0;γ=0.0001220703125;交叉验证精度CV Rate=84.0741%,这就是最优结果。
第四步:打开目录C:\libsvm-3.18\tools,我们可以看到新生成了两个文件:heart_scale.out和heart_scale.png,第一个文件就是搜索过程中的[local]和最优数据,第二个文件就是gnuplot图像。
现在,grid.py已经运行完了,你可以把最优参数输入到svm-train中进行训练了。
3、easy.py使用方法
文件easy.py对样本文件做了“一条龙服务”,从参数优选,到文件预测。因此,其对grid.py、svm-train、svm-scale和svm-predict都进行了调用(当然还有必须的python和gnuplot)。因此,运行easy.py需要保证这些文件的路径都要正确。还需要样本文件和预测文件,这里样本文件还是用heart_scale,预测文件我们赋值一份然后改名heart_test,下面说说使用方法:
第一步:打开easy.py,修改#example for windows下的几个路径:

第二步:运行cmd,进行dos环境,定位到防止easy.py的目录C:\libsvm-3.18\tools
第三步:输入命令:
python easy.py heart_scale heart_test
就会看到一个gnuplot的动态绘图窗口。大约20s以后停止,dos窗口显示为:
Scaling training data…
Cross validation…
Best c=2048.0, g=0.0001220703125 CVrate=84.0741
Training…
Output model: heart_scale.model
Scaling testing data…
Testing…
Accuracy = 85.1852% (230/270) (classification)
Output prediction: heart_test.predict
这就是最终预测结果,可以看到第三行就是调用grid.py的结果。在C:\libsvm-3.18\tools下你会看到又多了7个文件,都是以前我们碰到的过程文件,都可以用记事本打开。
【转】Windows下使用libsvm中的grid.py和easy.py进行参数调优的更多相关文章
- Windows下Git Bash中VIM打开文件中文乱码
Windows下Git Bash中VIM打开文件中文乱码,解决方法是: 步骤一 admin@DESKTOP-O99620V MINGW64 /d/项目GGE/Hard_for_GGE (master) ...
- 搭建 windows(7)下Xgboost(0.4)环境 (python,java)以及使用介绍及参数调优
摘要: 1.所需工具 2.详细过程 3.验证 4.使用指南 5.参数调优 内容: 1.所需工具 我用到了git(内含git bash),Visual Studio 2012(10及以上就可以),xgb ...
- 【Spark篇】---Spark中内存管理和Shuffle参数调优
一.前述 Spark内存管理 Spark执行应用程序时,Spark集群会启动Driver和Executor两种JVM进程,Driver负责创建SparkContext上下文,提交任务,task的分发等 ...
- 【深度学习篇】--神经网络中的调优一,超参数调优和Early_Stopping
一.前述 调优对于模型训练速度,准确率方面至关重要,所以本文对神经网络中的调优做一个总结. 二.神经网络超参数调优 1.适当调整隐藏层数对于许多问题,你可以开始只用一个隐藏层,就可以获得不错的结果,比 ...
- 在 Linux/windows下 命令行中使用和执行 PHP 代码[交互式php]
[注释]在ubuntu下,升级php到7.1版本,虽然提示的是Interactive mode enabled, 但实际上可以直接书写命令,和interactive shell效果一样. 一:wind ...
- vmware player 在windows下nat模式中的端口映射
1.设置虚拟机nat共享的网卡为固定ip vmware虚拟机使用nat网络时,是VMware Network Adapter VMnet8网卡提供的nat服务.查看VMware Network Ada ...
- windows下在yii中使用mongodb
1.编译或下载对应dll动态链接库拓展文件,下载地址:点我,不知道如何编译windows下的dll拓展->点我 2.找到web服务器软件,如apache,nginx等webserver处理浏览器 ...
- 如何在Windows下用cpu模式跑通py-faster-rcnn 的demo.py
关键字:Windows.cpu模式.Python.faster-rcnn.demo.py 声明:本篇blog暂时未经二次实践验证,主要以本人第一次配置过程的经验写成.计划在7月底回家去电脑城借台机子试 ...
- Linux下jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案
Linux下的jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案问题linux的jetty下发布程序后再启动jetty服务时 ...
随机推荐
- Web Application Penetration Testing Local File Inclusion (LFI) Testing Techniques
Web Application Penetration Testing Local File Inclusion (LFI) Testing Techniques Jan 04, 2017, Vers ...
- SpringMVC前后端数据交互总结
控制器 作为控制器,大体的作用是作为V端的数据接收并且交给M层去处理,然后负责管理V的跳转.SpringMVC的作用不外乎就是如此,主要分为:接收表单或者请求的值,定义过滤器,跳转页面:其实就是ser ...
- webapi returntype
- PHPMailer < 5.2.18 - RCE EXP(Bash)
#!/bin/bash# CVE-2016-10033 exploit by opsxcq# https://github.com/opsxcq/exploit-CVE-2016-10033echo ...
- Ubuntu下通过SSH远程登录服务器的方法
1. 首先在服务器上安装ssh的服务器端.$ sudo aptitude install openssh-server 2. 启动ssh-server.$ /etc/init.d/ssh restar ...
- Java线程的概念
1. 计算机系统 使用高速缓存来作为内存与处理器之间的缓冲,将运算需要用到的数据复制到缓存中,让计算能快速进行:当运算结束后再从缓存同步回内存之中,这样处理器就无需等待缓慢的内存读写了. 缓 ...
- C# socket send方法
转 http://msdn.microsoft.com/zh-cn/library/d318fkch(v=vs.80).aspx
- 页面解耦—— 统跳协议和Rewrite引擎
原文: http://pingguohe.net/2015/11/24/Navigator-and-Rewrite.html 解耦神器 —— 统跳协议和Rewrite引擎 Nov 24, 2015 • ...
- memcache服务器端及PHP memcache扩展的安装(转载)
memcache服务器端的安装(windows版) 1.下载memcached软件 32位下载地址: memcached-win32-1.4.4-14.zip(直接下载) 下载页面: 64位下载 ...
- Linux kernel make 常用选项介绍
Linux kernel 编译方法大全记录 一.这是一个我自己写的自动make脚本: #!/bin/sh export ARCH=arm export CROSS_COMPILE=arm-linux- ...