matlab下使用svmlib工具包

虽然网络上已经有了很多的类似的东西了吧。但是呢,我自己还是要写一写的。

安装:

对于 libsvm工具包,我们可以去官方网站下载,网址为:http://www.csie.ntu.edu.tw/~cjlin/libsvm/,这上面有很好的介绍。

我下载的版本为 libsvm-3.22。下载完了以后,可以查看到文件夹里面的内容。(其中,的一个heart_scale的matlab格式的文件是我自己在网上下载的)

里面的 matlab文件夹里的内容就是我们要用到的内容(里面有的文件我已经编译好了,即 .mexw64的相关文件)。里面有一个README 的文件,可以读读,作出了相关的介绍。

虽然在windows文件夹下有给出了 .mexw64的文件,但是我偿试过,没有办法用,所以呢,对于用c++下的 svmtrain.c、svmpredict、libsvmread.c、libsvmwrite.c(这四个文件是主要的)文件我们要把它编译成matlab可以使用的以.mexw64的文件。。(注意,在64位下是以.mexw64结尾,在32位下应该是以.mexw32结尾).

以上简单说了一下 文件夹内的东西,现在正式说说安装过程吧。

1. 下载工具包;(可以在官网下载,我同时也提供了我下载的并且我编译过的工具包,http://pan.baidu.com/s/1hsmR1li

2. 我们把工具包里的 matlab 文件夹下的的.c文件编译为matlab软件可以使用的.mexw64文件.

我们要做的是在matlab里编译c++文件,我们要配置matlab的编译器,matlab自身好像自代了一个 lcc的编译器,不过我的没有。如果你的电脑安装了其它的编译器,我们就可以使用它。(注意一点,matlab支持的编译器必须低于当前的matlab的版本,例如我的matlab为2012b版本,它就不支持vs2012版本,我又安装了vs2010版本,它就支持了,通过https://cn.mathworks.com/support/sysreq/previous_releases.html可以自己查看下自己的版本以及支持的编译器)。如何配置:

1)在matlab中输入:

mex –setup

再选择 y, 会出现这样的:

然后选择一个默认的编译器就可以了,我这里只有 visual c++ 2010,也只能选择它了。

2)配置完默认的编译器,我们就编译我们的在matlab文件夹下的 .c 文件吧。。让我们把当前目录切换到 matlab文件夹下,里面有一个 make.m 的文件,里面的内容就是编译的指令,我们直接运行它就可以(你可以选中文件右击选择run,也可以在命令窗口直接输入make 回车)。运行完了以后呢,就生成了 .mexw64的文件了。

3. 对于要不要设置matlab的搜索路经的问题,可以设置,也可以直接把matlab文件夹作用当前目录使用 svmtrain等函数。 我使用的后者。(另外注意一点,在matlab的自代工具箱里面也有一个svmtrain的函数,如果你设置了路经,记得把我们下载的工具箱的路经设在第一位置了,要不会调用错的)

4. 验证一下能否使用。

在下载的工具箱文件夹里面有一个 heart_scale的文件,这个是c++能打开的文件,我们直接使用load搞不定的。把这个文件复制到matlab文件夹下,使用 libsvmread 载入;方法为:

[label_vector, instance_matrix] = libsvmread(‘filename‘)

另个有我的文件包里面也包含了 heart_scale.mat文件,可以直接用load 载入的,下图为直接load 载入:

有了数据集,我们就那建立模型,用于分类预测:

model = svmtrain(heart_scale_label, heart_scale_inst);

[predict_label] = svmpredict(heart_scale_label, heart_scale_inst, model);

下图为输出:

5 ,搞定。

工具箱的简单使用:

http://blog.csdn.net/bryan__/article/details/51506801

时间: 2025-01-08 18:51:05

matlab下使用svmlib工具包的相关文章

解密SVM系列(五):matlab下libsvm的简单使用

本节简单介绍一下libsvm的使用方法.关于libsvm似乎曾经使用过,那个时候主要用libsvm进行简单的人脸识别实验.当时还翻译过关于libsvm里面的matlab英文文档 那么现在最新版本的libsvm为3.2.0,下载地址如下: http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 下载下来的libsvm其实包含好多个平台的工具箱软件,c++,matlab,java,python都有.他们的函数使用方法是一样的. 那么在下载完以后,点击里面的matlab下平

解密SVM系列(五):matlab下libsvm的简单使用:分类与回归

本节简介一下libsvm的用法. 关于libsvm似乎以前使用过.那个时候主要用libsvm进行简单的人脸识别实验.当时还翻译过关于libsvm里面的matlab英文文档 介绍与分类实验 那么如今最新版本号的libsvm为3.2.0,下载地址例如以下: http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 下载下来的libsvm事实上包括好多个平台的工具箱软件,c++.matlab,java,python都有. 他们的函数用法是一样的. 那么在下载完以后,点击里面的

Matlab下imwrite,Uint16的深度图像

Matlab下imwrite,Uint16的深度图像 1. 在Matlab命令窗口输入命令: help imwrite 会有如下解释: If the input array is of class uint16 and the format supports 16-bit data (JPEG, PNG, and TIFF), imwrite outputs the data as 16-bit values. If the format does not support 16-bit valu

LIBSVM在matlab下的使用安装

1) 从LIBSVM的官网http://www.csie.ntu.edu.tw/~cjlin/libsvm/上下载最新版本的LIBSVM,当前版本为libsvm-3.18.zip 2) 解压压缩包到电脑上一位置,如:C:\Program Files\libsvm-3.18 3) 假设你使用的是64位的操作系统和matlab.此时将libsvm-3.18文件夹下的windows目录添加到matlab目录中.即在matlab目录中添加:C:\ProgramFiles\libsvm-3.18\wind

关于libsvm工具箱在64位matlab下的安装说明

LIBSVM工具箱的安装 基本方法: 1.在网上下载LIBSVM工具箱. http://www.csie.ntu.edu.tw/~cjlin/libsvm/ 2.将LIBSVM工具箱所在目录添加到MATLAB工作搜索目录. 3.选择编译器: (1) 安装好VC++ 编译器: (2) 在MATLAB命令窗键入:mex –setup (3) 按提示选择相应的 C++ 编译器. 4.修改MATLAB自带的svmtrain函数名称. MATLAB自带svmtrain函数,与LIBSVM中函数名称冲突,必

matlab下kmeans及pam算法对球型数据分类练习

clear all; clc; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %数据初始化 Data=zeros(3,20000); %加噪声 for i=1:4000 Data(1,i)=200; Data(2,i)=200; Data(3,i)=200; end for i=4001:12000 p=unifrnd(0,50); a=unifrnd(0,2*pi); b=unifrnd(

matlab下利用K-Means进行图像分类

clear all; clc; I_rgb=imread('dog.jpg'); figure();imshow(I_rgb);title('原始图像'); %去噪 filter=ones(5,5); filter=filter/sum(filter(:)); denoised_r=conv2(I_rgb(:,:,1),filter,'same'); denoised_g=conv2(I_rgb(:,:,2),filter,'same'); denoised_b=conv2(I_rgb(:,:,

matlab下二重积分的蒙特卡洛算法

%%monte_carlo_ff.m %被积函数(二重) function ff=monte_carlo_ff(x,y) ff=x*y^2;%函数定义处 end %%monte_carlo.m %蒙特卡洛计算二重积分function result=monte_carlo(a,b,c,d,n,m)%先y后x积分,a是x积分下限,b是x积分上限,c是y积分下限,d是y积分上限,n,m是蒙特卡洛参数 sumxff=0; for i=1:n sumyff=0; xff=a+(b-a)*rand(); f

ubuntu下 编译Caffe的Matlab接口

一般情况下不愿意使用Caffe的Matlab接口,总觉得Linux版的Matlab很难配置,但是现在搞目标检测,得到的源码是使用的Caffe的Matlab接口,只能硬着头皮上了. (1)修改caffe-master/Makefile.config 这一步主要是在Caffe的编译配置文件Makefile.config中加入Matlab的路径.注意路径文件夹是要包含Matlab安装目录的“bin”文件夹的. (2)编译接口.这里默认已经编译好了Caffe源码主体部分.所以直接编译接口.在caffe-