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进行参数调优的更多相关文章

  1. Windows下Git Bash中VIM打开文件中文乱码

    Windows下Git Bash中VIM打开文件中文乱码,解决方法是: 步骤一 admin@DESKTOP-O99620V MINGW64 /d/项目GGE/Hard_for_GGE (master) ...

  2. 搭建 windows(7)下Xgboost(0.4)环境 (python,java)以及使用介绍及参数调优

    摘要: 1.所需工具 2.详细过程 3.验证 4.使用指南 5.参数调优 内容: 1.所需工具 我用到了git(内含git bash),Visual Studio 2012(10及以上就可以),xgb ...

  3. 【Spark篇】---Spark中内存管理和Shuffle参数调优

    一.前述 Spark内存管理 Spark执行应用程序时,Spark集群会启动Driver和Executor两种JVM进程,Driver负责创建SparkContext上下文,提交任务,task的分发等 ...

  4. 【深度学习篇】--神经网络中的调优一,超参数调优和Early_Stopping

    一.前述 调优对于模型训练速度,准确率方面至关重要,所以本文对神经网络中的调优做一个总结. 二.神经网络超参数调优 1.适当调整隐藏层数对于许多问题,你可以开始只用一个隐藏层,就可以获得不错的结果,比 ...

  5. 在 Linux/windows下 命令行中使用和执行 PHP 代码[交互式php]

    [注释]在ubuntu下,升级php到7.1版本,虽然提示的是Interactive mode enabled, 但实际上可以直接书写命令,和interactive shell效果一样. 一:wind ...

  6. vmware player 在windows下nat模式中的端口映射

    1.设置虚拟机nat共享的网卡为固定ip vmware虚拟机使用nat网络时,是VMware Network Adapter VMnet8网卡提供的nat服务.查看VMware Network Ada ...

  7. windows下在yii中使用mongodb

    1.编译或下载对应dll动态链接库拓展文件,下载地址:点我,不知道如何编译windows下的dll拓展->点我 2.找到web服务器软件,如apache,nginx等webserver处理浏览器 ...

  8. 如何在Windows下用cpu模式跑通py-faster-rcnn 的demo.py

    关键字:Windows.cpu模式.Python.faster-rcnn.demo.py 声明:本篇blog暂时未经二次实践验证,主要以本人第一次配置过程的经验写成.计划在7月底回家去电脑城借台机子试 ...

  9. Linux下jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案

    Linux下的jetty报java.lang.OutOfMemoryError: PermGen space及Jetty内存配置调优解决方案问题linux的jetty下发布程序后再启动jetty服务时 ...

随机推荐

  1. css-列表或标题的多级计数

    利用css实现多级计数,比如1/1.1/1.1.1这种层层嵌套的计数,主要利用到counter-reset/counter-increment/counter/content/:before. 一.标 ...

  2. ubuntu16.04配置py-faster-rcnn

    在ubuntu16.04下编译安装了py-faster-rcnn. 主要步骤包括:安装cuda/cudnn,换apt源,装开源显卡驱动,装caffe依赖的apt包和python包,下载py-faste ...

  3. 爬虫框架--webmagic

    官方有详细的使用文档:http://webmagic.io/docs/zh/ 简介:这只是个java爬虫框架,具体使用需要个人去定制,没有图片验证,不能获取js渲染的网页,但简单易用,可以通过xpat ...

  4. wireshark lua脚本

    1.目的:解析rssp2协议   2.如何使用wireshark lua插件 将编写的(假设为rssp2.lua)lua文本,放入wireshark 安装目录下,放哪里都行只要dofile添加了路径. ...

  5. Nuget Command Console

    Get-Package -ListAvailable -Filter contracts 命令行 注意选择 程序包源

  6. 图片懒加载jquery lazyload

    <script type="text/javascript" src="jquery-1.11.3.min.js"></script>& ...

  7. 基于ASP.NET MVC(C#)和Quartz.Net组件实现的定时执行任务调度

    http://www.cnblogs.com/bobositlife/p/aspnet-mvc-csharp-quartz-net-timer-task-scheduler.html 在之前的文章&l ...

  8. JAVA WEB WITH IDEA

    本文主要介绍使用IDEA开发环境,创建JAVA WEB 工程,并介绍war包的制作过程. 1 创建MAVEN工程

  9. 关于java的格式输出控制

    java中的System.out.println()功能十分强大,可以对任意类型的数据进行输出. 这里我们不讨论System.out.println(),而是讨论System.out.printf() ...

  10. D3.js学习(一)

    从今天开始我将和大家一起学习D3.js(Data-Driven Documents),由于国内关于D3的学习资料少之又少,所以我觉得很有必要把自己学习过程记录下来,供同学们参考,如果文章有有哪些表达有 ...