libSVM 简易使用手册
关于SVM的基础理论知识,可以google这篇文章《SVM的八股简介》,讲解得生动有趣,是入门的极好教材。作为拿来主义者,我更关心怎么用SVM,因此瞄上了台湾林智仁教授提供的libSVM。我把自己的使用过程记录下来,感觉按照下面的步骤,傻瓜应该也可以用SVM了。
1. 相关程序的下载、安装
总共要下载libsvm,python,gnuplot三个程序。
1.1 libsvm:到http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 下载,我用的是libsvm-3.12.zip,下载后直接解压缩到任意位置,我解压到E:\Codes\libsvm-3.12下。
1.2 python:到http://www.python.org/download/ 下载(该地址可能需要FQ),我下的是python-2.7.3.msi,双击该文件安装到默认位置,我安装到C:\Python27下。将该路径添加到系统环境变量中。添加方法:右键点击 我的电脑 -> 属性 -> 高级系统设置 -> 环境变量,在 系统变量 里找到 path, 点击 编辑,在弹出框最后加上 C:\Python27;(注意用分号与之前的项隔开) 之后重启电脑。
1.3 gunplot:到http://www.gnuplot.info/ 下载,我下的是gp460-win32-setup.exe,双击该文件安装到默认位置,我安装到C:\Program Files\gnuplot下。
2. 生成训练数据和测试数据,分别存为train和test两个文本文件,拷贝到libsvm-3.12\tools下。下一篇博文我会讲怎样结合opencv生成libSVM格式的数据。
3. 进入libsvm-3.12\tools下,用写字板打开easy.py,将里面gnuplot_exe = 后的路径改为gnuplot的安装路径,对于我的情况:
gnuplot_exe = r"C:\Program Files\gnuplot\bin\pgnuplot.exe"。同样,用写字板打开grid.py,修改gnuplot_exe = r"C:\Program Files\gnuplot\bin\pgnuplot.exe"。修改这两个文件时都要注意,要修改else下的gnuplot_exe,而不是if not is_win32下的。另外要注意,如果修改完后easy.py或grid.py默认打开程序变成了写字板,要把它改回成python.exe
4. 在命令行cd到该路径libsvm-3.12\tools下,命令行输入 python easy.py train test,敲回车,程序会自动执行scale,参数寻优,生成svm模型train.model,用该模型对test数据进行预测,并给出准确度。
下面附上我命令行的截图

可以看到,程序自动选择的最优参数 c=32.0, g=0.5,在测试集上准确率为62%
libSVM 简易使用手册的更多相关文章
- Git简易参考手册
如果用过mercury(HG),那么理解Git的运作方式就轻松多了.两者是相同的分布式版本管理工具,只是某些功能有着细微的差别 - Git的管理粒度更加细腻,因此操作上也比HG复杂一点.例如,修改文件 ...
- git简易操作手册
从远程仓库新建 $ git clone https://github.com/xxxr/Repository.git $ cd Repository/ $ git config --global us ...
- Docker简易使用手册
1. Docker介绍 Docker中文社区文档 Docker 是一个开源的软件部署解决方案. Docker 包括三个基本概念: 镜像(Image) Docker的镜像概念类似于虚拟机里的镜像,是一个 ...
- ConstraintLayout使用手册
1. 解决痛点 主要用拖拽 解决嵌套过多 2. 简易使用手册 增加约束 四个角直接拖拽就好了 删除约束 match_constraint 属性 这个属性类似于match_parent,去掉margin ...
- libsvm使用说明
http://www.hankcs.com/ml/libsvm-usage.html libsvm使用说明 码农场 > 机器学习 2016-02-18 阅读(345) 评论(0) 目录 l ...
- 分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace(转)
源:分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace Bus Hound官方下载地址:http://perisoft.net/bushound/Bus Hound ...
- 分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace【转】
转自:http://bbs.armfly.com/read.php?tid=15377 Bus Hound官方下载地址:http://perisoft.net/bushound/ Bus Hound ...
- 分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace
Bus Hound官方下载地址:http://perisoft.net/bushound/Bus Hound 简易使用手册:bus_hound5.0中文使用说明.pdf (246 K) 下载次数:9 ...
- PM2 监控 Spring Boot 项目运行
更多 PM2 的用法介绍请参考: PM2简易使用手册 - 掘金 由于 PM2 通常都用于 node 应用, 所以 exec_mode 应写为 fork, 其中最重要的是 args, -jar 和 ja ...
随机推荐
- C#中Dynamic关键字
dynamic关键字和动态语言运行时(DLR)是.Net 4.0中新增的功能. 什么是"动态"? 编程语言有时可以划分为静态类型化语言和动态类型化语言.C#和Java经常被认为是静 ...
- 【C++】字符串的大小写转换
#include<string> #include<algorithm> #include<iostream> using namespace std; int m ...
- Aptana Studio 3的汉化
Aptana Studio 3(下面简称Aptana 3)的汉化方法 1.找到这个网站 http://aptana.com/support 2.单击下面的链接 view documentation 在 ...
- Boolean强制转换
数据类型 转换为true的值 转换为false的值 Boolean true false String 任何非空字符串 空字符串 Number 任何非0数字值(包括无穷大) 0和NaN Object ...
- Ant学习-002-ant 执行 TestNG 测试用例时 [testng] java.lang.NoClassDefFoundError: com/beust/jcommander/ParameterException 解决方案
上篇文章中概述了 Ant windows 环境的基本配置,此文讲述在初次使用的过程中遇到的问题. 今天通过 ant 执行 TestNG 测试用例时,执行报错,相应的错误信息如下所示: Buildfil ...
- Windows下使用Git和GitHub.com
1.首先介绍一下什么是Git和GitHub Git是一个分布式的版本控制系统,最初由Linus Torvalds编写,用作Linux内核代码的管理.在推出后,Git在其它项目中也取得了很大 ...
- Tomcat 处理请求时的中文乱码问题
利用Tomcat8作为服务器,采用servlet接收前端请求后进行处理的过程中,前台请求中有中文时,中文信息变成了乱码. 经过调试和查阅,发现Tomcat在处理get请求和post请求是有区别的.参照 ...
- iOS系统自带正则表达式简单运用
//组装一个字符串,把里面的网址解析出来 NSString *urlString = @"sfdshttp://www.baidu.com"; NSError *error; // ...
- LeetCode Perfect Squares
原题链接在这里:https://leetcode.com/problems/perfect-squares/ 题目: Given a positive integer n, find the leas ...
- [Logstash]使用详解(转)
Logstash是一款轻量级的日志搜集处理框架,可以方便的把分散的.多样化的日志搜集起来,并进行自定义的处理,然后传输到指定的位置,比如某个服务器或者文件. 本文针对官方文档进行翻译以及实践,希望有更 ...