根据本文后面部分博友提出的在配置过程中出现的问题,其中需要特别强调的一点:整个过程,都是在 libsvm-3.12\matlab目录下操作的。如果这一点你忽视了,你不可能解决配置中报的Bug,即使重新安装matlab也不行。
本文的配置路径为 D:\MATLAB\R2010a\toolbox\libsvm-3.12\matlab,从始至终都是在这个目录下进行的。
当然,你也可以将编译好的文件拷贝到任何地方,只要你当前的工作目录中有这四个文件即可。
////////////////////////////
详细步骤如下:
1.下载libsvm
http://www.csie.ntu.edu.tw/~cjlin/libsvm/
我的matlab版本 R2010a,我的libsvm版本3.12

2.解压至指定目录
将libsvm解压至D:\MATLAB\R2010a\toolbox下,你也可以解压至你喜欢的地方。

3.设置路径

下载下来的借口包里有svm的一些源文件,没有可执行的exe文件,所以,必须先将svmtrain等源文件编译为matlab可以使用的dll等文件。于是先选择编译器,如下: 
4.编译libsvm
我的编译器是VC++ 6.0

首先在matlab设置当前目录为 D:\MATLAB\R2010a\toolbox\libsvm-3.12\matlab

5.执行编译
在matlab命令窗口中输入
mex -setup
显示

Please choose your compiler for building external interface (MEX) files: 
 
Would you like mex to locate installed compilers [y]/n?

输入y

Select a compiler: 
[1] Lcc-win32 C 2.4.1 in D:\MATLAB\R2010a\sys\lcc 
[2] Microsoft Visual C++ 2008 SP1 in D:\Program Files\Microsoft Visual Studio 9.0 
[3] Microsoft Visual C++ 6.0 in D:\Program Files\Microsoft Visual Studio 
 
[0] None

Compiler:

需要你选择编译器
我输入的是3 即选择VC++ 6.0

Please verify your choices: 
 
Compiler: Microsoft Visual C++ 6.0 
Location: D:\Program Files\Microsoft Visual Studio 
 
Are these correct [y]/n?
再次确认自己的选择,输入y

Trying to update options file: C:\Users\DELL\AppData\Roaming\MathWorks\MATLAB\R2010a\mexopts.bat 
From template:              D:\MATLAB\R2010a\bin\win32\mexopts\msvc60opts.bat 
 
Done . . .

编译器选择好了之后,用make.m编译

命令窗口输入make
可以看到新编译出4个文件libsvmread.mexw32,libsvmwrite.mexw32,svmtrain.mexw32,svmpredict.mexw32


在命令窗口中输入

load heart_scale;
此时需注意,libsvm 3.12中提供的是c++版本的数据集heart_scale,这里需要加载matlab版本的数据集。
这两个数据集有什么不同呢?

C++版本的数据集里面如果某一个样本的某一个特征为0,这个特征可以不写在数据集中,但是在matlab版本中,必须要写出来。
否则的话,会报这样一个错误:

此时你可以选择下载matlab型的数据集,给一个链接。
http://download.csdn.net/detail/boruoshui/4881338
然后读取数据集
libsvmread('heart_scale');
完成该步骤后发现Workspace中出现了heart_scale_inst  heart_scale_label,说明正确。

model=svmtrain(heart_scale_label,heart_scale_inst)
[predict_lebel,accuracy]=svmpredict(heart_scale_label,heart_scale_inst,model)
/////////////////////////////////////////////
本博2014年4月18日添加
部分博友反应
[predict_lebel,accuracy]=svmpredict(heart_scale_label,heart_scale_inst,model)
********************重点
命令会报BUG,这是libsvm新的版本对于输出结果的重新设定。
改为如下命令即可。(老版本不用改变。本文是libsvm-3.12。)
model=svmtrain(heart_scale_label,heart_scale_inst)

[predicted_label, accuracy, decision_values]=svmpredict(heart_scale_label,heart_scale_inst,model)

/////////////////////////////////////////////

证明libsvm安装成功,可以进行其他的实验了。

MATLAB 安装使用libsvm详细步骤的更多相关文章

  1. 在Matlab中安装使用libsvm详细步骤(附图)

    今天自己在matlab中安装libsvm,下面是详细的步骤 1.首先下载libsvmhttp://www.csie.ntu.edu.tw/~cjlin/libsvm/我的matlab版本 R2016a ...

  2. 安装WebLogic的详细步骤

    安装WebLogic的详细步骤 1.在官网上下载WebLogic,详细地址如下 WebLogic 2.将WebLogic从官网上下载后wls1036_generic.jar 3.双击"wls ...

  3. bootcamp安装win7的详细步骤 (光盘安装)

      bootcamp安装win7的详细步骤 首先是要您确定以下内容(1)您的Mac系统下是一个盘符,也就是“macintosh hd”一个磁盘.如果不是的话,首先您需要做的是备份您分区下面的资料,让磁 ...

  4. windows10用WMware安装Linux虚拟机详细步骤

    windows10用WMware安装Linux虚拟机详细步骤   一.安装环境 windows10操作系统物理机VMware Workstation 软件(可以在网上下载)CentOS6.9镜像文件( ...

  5. Linux安装ftp服务-详细步骤

    最近项目中用到了FTP服务器,于是整理了一份在Linux服务器上安装FTP的详细步骤供大家分享. 1.首先连接上自己的Linux服务器.我的Linux是CentOS 6 2.检查Linux服务器上是否 ...

  6. Linux命令行模式下安装VMware Tools详细步骤

    在Linux命令行模式安装VMware Tools 方法/步骤1: 首先启动CentOS 7,在VMware中点击上方"VM",点击"Install VMware Too ...

  7. Centos7(阿里云服务器)安装Anaconda的详细步骤与心得

    在本地安装Anaconda的各个版本的文章已经很多,但是感觉不是很详细,因此,在此发发自己在Centos7(阿里云服务器)安装Anaconda的心得和步骤: 注:需要注意的地方会用不同颜色区别. 1. ...

  8. matlab使用libsvm入门教程——使用matlab安装配置libsvm以及一个svm分类实例

    前言 此教程专注于刚入门的小白, 且博客拥有时效性, 发布于2019年3月份, 可能后面的读者会发现一些问题, 欢迎底下评论出现的问题,我将尽可能更新解决方案. 我开始也在如何安装libsvm上出现了 ...

  9. 安装cocoaPods的详细步骤

    先大概说下安装的步骤: Xcode 这个是开发必须的, HomeBrew RVM Ruby CocoaPods 一.HomeBrew: 打开官网链接:http://brew.sh/index_zh-c ...

随机推荐

  1. OGG_GoldenGate日常维护(案例)

    2014-03-12 Created By BaoXinjian

  2. Linux内核scatterlist API介绍

    1. 前言 我们在那些需要和用户空间交互大量数据的子系统(例如MMC[1].Video.Audio等)中,经常看到scatterlist的影子.对我们这些“非英语母语”的人来说,初见这个词汇,脑袋瞬间 ...

  3. Linux内核(16) - 高效学习Linux内核

    世界悲结束了,章鱼哥也退役了,连非诚勿扰中的拜金女也突然的少了很多.这本<Linux内核修炼之道>在卓越.当当.china-pub上也已经开卖了,虽然是严肃文学,但为了保证流畅性,大部分文 ...

  4. 代码解说Android Scroller、VelocityTracker

    在编写自己定义滑动控件时经常会用到Android触摸机制和Scroller及VelocityTracker.Android Touch系统简单介绍(二):实例具体解释onInterceptTouchE ...

  5. hdu 1213 How Many Tables(并查集求无向图有几个连通分量)

    代码: #include<cstdio> #include<cstring> using namespace std; int n,m; int father[1005]; i ...

  6. mysql 5.6.23的源码安装

    http://634871.blog.51cto.com/624871/1325914 首先删除系统自带的mysql rpm -qa | grep mysql   rpm -e mysql   //普 ...

  7. Django视图之URLconfs

    对于一个web程序而言,接收和处理用户的请求并返回响应是一个最基本的.也是最重要的功能. Django为这个功能取了一个好听的名字——“视图”. 而具体的代码实现往往是通过一个个函数,Django中也 ...

  8. Oracle PLSQL Demo - 13.游标的各种属性[Found NotFound ISOpen RowCount CURSOR]

    declare r_emp scott.emp%rowtype; cursor cur_emp is select t.* from scott.emp t; begin open cur_emp; ...

  9. kafka之partition分区及副本replica升级

    修改kafka的partition分区 bin/kafka-topics.sh --zookeeper datacollect-2:2181 --alter --partitions 3 --topi ...

  10. Java web项目中java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

    原来是tomcat找不到MYSQL JAR包的问题.后来又把mysql-connector-java-5.1.7-bin.jar导入到tomcat的lib目录下面就ok了,嘿…… 在java项目中,只 ...