关于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 简易使用手册的更多相关文章

  1. Git简易参考手册

    如果用过mercury(HG),那么理解Git的运作方式就轻松多了.两者是相同的分布式版本管理工具,只是某些功能有着细微的差别 - Git的管理粒度更加细腻,因此操作上也比HG复杂一点.例如,修改文件 ...

  2. git简易操作手册

    从远程仓库新建 $ git clone https://github.com/xxxr/Repository.git $ cd Repository/ $ git config --global us ...

  3. Docker简易使用手册

    1. Docker介绍 Docker中文社区文档 Docker 是一个开源的软件部署解决方案. Docker 包括三个基本概念: 镜像(Image) Docker的镜像概念类似于虚拟机里的镜像,是一个 ...

  4. ConstraintLayout使用手册

    1. 解决痛点 主要用拖拽 解决嵌套过多 2. 简易使用手册 增加约束 四个角直接拖拽就好了 删除约束 match_constraint 属性 这个属性类似于match_parent,去掉margin ...

  5. libsvm使用说明

    http://www.hankcs.com/ml/libsvm-usage.html libsvm使用说明 码农场 > 机器学习 2016-02-18 阅读(345) 评论(0)  目录   l ...

  6. 分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace(转)

    源:分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace Bus Hound官方下载地址:http://perisoft.net/bushound/Bus Hound ...

  7. 分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace【转】

    转自:http://bbs.armfly.com/read.php?tid=15377 Bus Hound官方下载地址:http://perisoft.net/bushound/ Bus Hound ...

  8. 分享三个USB抓包软件---Bus Hound,USBlyzer 和-USBTrace

    Bus Hound官方下载地址:http://perisoft.net/bushound/Bus Hound 简易使用手册:bus_hound5.0中文使用说明.pdf (246 K) 下载次数:9  ...

  9. PM2 监控 Spring Boot 项目运行

    更多 PM2 的用法介绍请参考: PM2简易使用手册 - 掘金 由于 PM2 通常都用于 node 应用, 所以 exec_mode 应写为 fork, 其中最重要的是 args, -jar 和 ja ...

随机推荐

  1. C++ 编译器内存错误 after Normal block。。。

    解决 after Normal block(#908) at 0x399EC0. CRT detected that the application wrote to memory after end ...

  2. js中将字符串转换成json的三种方式

    1,eval方式解析,恐怕这是最早的解析方式了.如下: function strToJson(str){ var json = eval('(' + str + ')'); return json; ...

  3. oracle 表查询二

    1.使用逻辑操作符号问题:查询工资高于500或者是岗位为manager的雇员,同时还要满足他们的姓名首字母为大写的J?select * from emp where (sal > 500 or ...

  4. ArcGIS API for JavaScript 4.0(一)

    原文:ArcGIS API for JavaScript 4.0(一) 最近ArcGIS推出了ArcGIS API for JavaScript 4.0,支持无插件3D显示,而且比较Unity和Sky ...

  5. [LeetCode]题解(python):040-Combination Sum II

    题目来源 https://leetcode.com/problems/combination-sum-ii/ Given a collection of candidate numbers (C) a ...

  6. Car---hdu5935(简单题)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5935 题意:有一辆车在马路上行驶,速度不变或增加,然后警察在某整数点时刻记录下了这辆车所经过的位置,共 ...

  7. 【转】Android Canvas的save(),saveLayer()和restore()浅谈

    Android Canvas的save(),saveLayer()和restore()浅谈 时间:2014-12-04 19:35:22      阅读:1445      评论:0      收藏: ...

  8. python中几个常用的算术函数

    1.lambda函数(匿名函数) lambda函数使用方式:lambda[参数1,参数2....]:表达式,列表 实例如下: lambda x : x * 2,[1,2,3,4] lambda 2.r ...

  9. 磁盘空间已满导致rabbitmq无法启动

    rabbitmq-server 启动问题 今天遇到一个挺奇怪的 rabbitmq-server 的启动问题. 在内部使用的 openstack 环境上,rabbitmq-server突然就关掉了,无法 ...

  10. PHP受保护的类和私有类什么区别

    受保护的继承后可以访问,私有的只能在该类中访问,不会被继承访问class Man{ protected $name='lee';//受保护 private $age=123;//私有 function ...