关于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. Apache Commons Codec 编码解码

    Apache Commons Codec jar包官方下载地址 下载解压后把commons-codec-1.9.jar 放到lib中 关于SHA1算法的介绍可以参看Wiki:http://en.wik ...

  2. UIBezierPath 画线

    使用UIBezierPath类可以创建基于矢量的路径,这个类在UIKit中.此类是Core Graphics框架关于path的一个封装.使用此类可以定义简单的形状,如椭圆或者矩形,或者有多个直线和曲线 ...

  3. 10 Golden Rules of Project Risk Management

    The benefits of risk management in projects are huge. You can gain a lot of money if you deal with u ...

  4. c#中栈和堆的理解

    之前对栈(stack)和堆(heap)的认识很模糊,今天看了一篇关于堆栈的文章<译文---C#堆VS栈>后,仿佛有种拨开云雾见青天的感觉,当然只是一些浅显的理论的认识,这里做一些简单的记录 ...

  5. Maven集成Sonar

    Sonar对maven提供了简单可配的支持,要做的事情很简单--在maven/conf下settings.xml <profiles></profiles>标签之间添加如下内容 ...

  6. LeetCode Closest Binary Search Tree Value II

    原题链接在这里:https://leetcode.com/problems/closest-binary-search-tree-value-ii/ 题目: Given a non-empty bin ...

  7. 利用DBMS_ROWID.ROWID_CREATE来找出事务等待的行数据

    在v$session视图中有四个字段,如下: Wait information in v$session view ROW_WAIT_OBJ# NUMBER Object ID for the tab ...

  8. 神奇的计算器dc和bc

    神奇的计算器dc和bc Linux就这个范儿 P244http://baike.baidu.com/link?url=YlTtivBfc1tfzreeUQoe8D0C6yqwbZGqnmlObq1hj ...

  9. Servlet+Jsp实现图片或文件的上传功能

    首先,我们创建一个新的web工程,在工程的WebRoot目录下新建一个upload文件夹,这样当我们将该工程部署到服务器上时,服务器便也生成个upload文件夹,用来存放上传的资源. 然后,在WebR ...

  10. 第三篇 SQL Server代理警报和操作员

    本篇文章是SQL Server代理系列的第三篇,详细内容请参考原文. 正如这一系列的上一篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行,除了步骤中执行的工 ...