matlab2019a加装libsvm指南

合集下载

Matlab安装使用libsvm

Matlab安装使用libsvm

Would you like mex to locate installed compilers [y]/n?n %这次是选择编译器,输入n,选择自定义的编译器
出现以下选项(因电脑而异)
Select a compiler:
[1] Intel C++ 11.1 (with Microsoft Visual C++ 2008 SP1 linker)
Accuracy = 86.6667% (234/270) (classification)% done
如果运行正常并生成了model这个结构体(其中保存了所有的支持向量及其系数),那么说明 libsvm和matlab 之间的接口已经完全配置成功。
注意:
1. matlab自带了C编译器Lcc-win32C,但是libsvm原始版本是C++实现的,因此需要C++的编译器来编译,这就是不适用matlab默认编译器而选择其他C++编译器的原因。
[2] Intel Visual Fortran 11.1 (with Microsoft Visual C++ 2008 SP1 linker)
[3] Intel Visual Fortran 11.1 (with Microsoft Visual C++ 2008 Shell linker)
Matlab安装使用libsvm
一.下载libsvm
.tw/~cjlin/libsvm/
在libsvm的网站上下载 libsvm-3.12.zip文件,解压后放在任意目录下,最好放在MATLAB工具箱中,比如 C:\Program Files\MATLAB\R2011a\toolbox\libsvm-3.12下。

Matlab下libsvm的配置使用【转】

Matlab下libsvm的配置使用【转】

Matlab下libsvm的配置使⽤【转】LIBSVM是⼀个由台湾⼤学林智仁(Lin Chih-Jen)教授等开发的SVM模式识别与回归的软件包,使⽤简单,功能强⼤,能够在matlab中使⽤。

⼀、安装1.下载在LIBSVM的主页上下载最新版本的软件包(libsvm-3.20),并解压到合适⽬录中。

2.编译如果你使⽤的是64位的操作的系统和Matlab,那么不需要进⾏编译步骤,因为⾃带软件包中已经包含有64位编译好的版本:libsvmread.mexw64、libsvmwrite.mexw64、svmtrain.mexw64、svmpredict.mexw64。

否则,需要⾃⼰编译⼆进制⽂件。

⾸先在matlab中进⼊LIBSVM根⽬录下的matlab⽬录(如C:\libsvm-3.20\matlab),在命令窗⼝输⼊>>mex -setup然后Matlab会提⽰你选择编译mex⽂件的C/C++编译器,就选择⼀个已安装的编译器。

之后Matlab会提⽰确认选择的编译器,输⼊y进⾏确认。

然后可以输⼊以下命令进⾏编译。

>>make注意,Matlab或VC版本过低可能会导致编译失败,建议使⽤最新的版本。

编译成功后,当前⽬录下会出现若⼲个后缀为mexw64(64位系统)或mexw32(32位系统)的⽂件。

3.重命名(可选,但建议执⾏)编译完成后,在当前⽬录下回出现svmtrain.mexw64、svmpredict.mexw64(64位系统)或者svmtrain.mexw32、svmpredict.mexw32(32位系统)这两个⽂件,把⽂件名svmtrain和svmpredict相应改成libsvmtrain和libsvmpredict。

这是因为Matlab中⾃带有SVM的⼯具箱,⽽且其函数名字就是svmtrain和svmpredict,和LIBSVM默认的名字⼀样,在实际使⽤的时候有时会产⽣⼀定的问题,⽐如想调⽤LIBSVM的变成了调⽤Matlab SVM。

LibLinear(SVM包)的MATLAB安装

LibLinear(SVM包)的MATLAB安装

LibLinear(SVM包)的MATLAB安装1 LIBSVM介绍LIBSVM是众所周知的⽀持向量机分类⼯具包(),运⽤⽅便简单,其中的核函数()可以⾃⼰定义也可以默认。

但是对⼀些⼤数据来说,有没有⾮线性映射,他们的性能差不多。

如果不使⽤核,我们可以⽤线性分类或者回归来训练⼀个更⼤的数据集。

这些数据往往具有⾮常⾼维的特征,例如⽂本分类Document classification。

所以LIBSVM就诞⽣了。

关于的详细介绍及其⽐较可以参见链接:2 的MATLAB安装步骤我使⽤的是最新版本liblinear1.95,MATLAB是R2012b.(2)解压到相应的⽂件夹,在MATLAB中设置⼦路径,打开matlab,点击File->SetPath->Add withSubfolders,找到liblinear-1.95\matlab 所在⽂件夹,点击save,点击close。

(3)在matlab的command window中输⼊mex -setup,选择合适的编译器,具体如下:上图最后的“y”是⾃⼰⼿动输⼊进去的,表⽰同意选择编译⽅式。

(4)输⼊“2”作为编译环境确认,输⼊“y”结果图如下;(5)在matlab的command window中输⼊make,如果正确的话,会如下所⽰:同时,可以看到在当前⽬录下⽣成下图中的⽂件特别是⽣成train.mexw32和predict.mexw32.到这⼀步,Liblinear安装成功。

3 在matlab中测试Liblinear是否能⽤model = train(svm_category', sparseTrainMatrix)[output_label, accuracy] = predict(svm_category', sparseTestMatrix, model);train中参数:svm_category'为列向量,表⽰training set的class label,假设为n维sparseTrainMatrix为n*m维矩阵,n表⽰training set中样本的个数,m表⽰每个样本中feature的个数model的内容为predict中参数和train中取的类似,本例中直接把training set作为testing set重新预测了⼀下,model为train中输出的结构体output_label输出的是testing set的class label的预测值accuracy是预测准确度到此结束。

matlab中使用libsvm的使用方法

matlab中使用libsvm的使用方法

前段时间,gyp326曾在论坛里问libsvm如何在matlab中使用,我还奇怪,认为libsvm是C 的程序,应该不能。

没想到今天又有人问道,难道matlab真的能运行libsvm。

我到官方网站看了下,原来,真的提供了matlab的使用接口。

接口下载在:.tw/~cjlin/libsvm/index.html#matlab具体使用方法zip文件里有readme说明,我也按照说明尝试的试用了一下,方法介绍如下。

使用的接口版本:MATLABA simple MATLAB interfaceLIBSVM authors at National Taiwan University.2.89 .tw/~cjlin/libsvm/matlab/libsvm-mat-2.89-3.zip使用的运行环境为:matlab 7.0,VC++ 6.0,XP系统。

按照说明使用方法如下:1. 下载下来的借口包里有svm的一些源文件,没有可执行的exe文件,所以,必须先将svmtrain等源文件编译为matlab可以使用的dll等文件。

于是先选择编译器,如下:(也可以先尝试使用我们在windows平台下编译好的文件,放在同一文件夹中直接使用:/bbs/viewthread.php?tid=538&page=1&fromuid=3#pid1154)>> mex -setupPlease choose your compiler for building external interface (MEX) files:Would you like mex to locate installed compilers [y]/n? ySelect a compiler:[1] Digital Visual Fortran version 6.0 in C:\Program Files\Microsoft Visual Studio[2] Lcc C version 2.4 in D:\MATLAB7\sys\lcc[3] Microsoft Visual C/C++ version 6.0 in D:\Program Files\Microsoft Visual Studio[0] NoneCompiler: 3Please verify your choices:Compiler: Microsoft Visual C/C++ 6.0Location: D:\Program Files\Microsoft Visual StudioAre these correct?([y]/n): yTry to update options file: C:\Documents and Settings\jink2005.AISEMINA-D6623E\Application Data\MathWorks\MATLAB\R14\mexopts.batFrom template: D:\MATLAB7\BIN\WIN32\mexopts\msvc60opts.batDone . . .我选择使用VC 6.0,其他可能不行。

libsvm安装教学.ppt

libsvm安装教学.ppt
Step2.解壓縮到C槽。 Step3.將tools資料夾內的grid.py及easy.py複製到
windows資料夾下 Step4.確認使用的程式路徑是否正確(請參考範例圖
片)
2020/4/6
16
LibSVM安裝範例圖片說明(1/3)
解壓縮後的資 料夾(路徑不能
有中文字)
下載的 壓縮檔
2020/4/6
LibSVM安裝
2020/4/6
1
目錄
LibSVM安裝
◦ Python ◦ Gnuplot ◦ LibSVM
2020/4/6
2
Python安裝
Step1.到 /download/ 下載
Step2.執行下載的安裝檔 Step3.一直下一步到安裝完畢
定兩個exe的路徑。(.py檔內不能有 中文字。)
2020/4/6
21
LibSVM程式路徑範例說明(3/4)
開啟easy.py
easy.py所在的資 料夾路徑
2020/4/6
選這個選項開啟 (必需先安裝
python才會出現)
22
LibSVM程式路徑範例說明(4/4)
檢查easy.py所使用的程式路徑
17
LibSVM安裝範例圖片說明(2/3)
grid.py和 easy.py所在的 資料夾路徑
將grid.py跟 easy.py複製下

2020/4/6
18
LibSVM安裝範例圖片說明(3/3)
grid.py和 easy.py貼上後 的資料夾路徑
grid.py跟 easy.py貼上
2020/4/6
Step2.將下載的gp400win32.zip解壓縮到 c:\tmp 這樣就準備好了。

matlab中SVM工具箱的使用方法

matlab中SVM工具箱的使用方法

matlab中SVM工具箱的使用方法1,下载SVM工具箱:2,安装到matlab文件夹中1)将下载的SVM工具箱的文件夹放在\matlab71\toolbox\下2)打开matlab->File->Set Path中添加SVM工具箱的文件夹现在,就成功的添加成功了.可以测试一下:在matlab中输入which svcoutput 回车,如果可以正确显示路径,就证明添加成功了,例如:C:\Program Files\MATLAB71\toolbox\svm\svcoutput.m 3,用SVM做分类的使用方法1)在matlab中输入必要的参数:X,Y,ker,C,p1,p2我做的测试中取的数据为:N = 50;n=2*N;randn('state',6);x1 = randn(2,N)y1 = ones(1,N);x2 = 5+randn(2,N);y2 = -ones(1,N);figure;plot(x1(1,:),x1(2,:),'bx',x2(1,:),x2(2,:),'k.');axis([-3 8 -3 8]);title('C-SVC')hold on;X1 = [x1,x2];Y1 = [y1,y2];X=X1';Y=Y1';其中,X是100*2的矩阵,Y是100*1的矩阵C=Inf;ker='linear';global p1 p2p1=3;p2=1;然后,在matlab中输入:[nsv alpha bias] = svc(X,Y,ker,C),回车之后,会显示:Support Vector Classification_____________________________Constructing ...Optimising ...Execution time: 1.9 secondsStatus : OPTIMAL_SOLUTION|w0|^2 : 0.418414Margin : 3.091912Sum alpha : 0.418414Support Vectors : 3 (3.0%)nsv =3alpha =0.00000.00000.00000.00000.00002)输入预测函数,可以得到与预想的分类结果进行比较.输入:predictedY = svcoutput(X,Y,X,ker,alpha,bias),回车后得到:predictedY =1111111113)画图输入:svcplot(X,Y,ker,alpha,bias),回车#Matlab一、因为要用到SVM,所以想先在matlab下学习一下,简短讲添加工具箱很简单:1.1:如果是Matlab安装光盘上的工具箱,重新执行安装程序,选中即可。

libsvm安装教程matlab中使用(详细版)

libsvm安装教程matlab中使用(详细版)

libsvm安装教程(详细版)(本机matlab版本16b)第一步,把libsvm放到工具箱toolbox中。

把libsvm安装包解压,并放入matlab程序文件中toolbox中。

运行matlab程序,点击主页,找到布局旁边的设置路径,并点击设计路径选择添加并包含子文件,找到toolbox下面的libsvm添加即可,并点击保存。

第二步更新工具箱找到布局旁边的预测按钮,并点击预设按钮。

找到常规,选择更新工具箱路径缓存,并点击应用,最后点击确定。

第三步,更改libsvm文件在matlab文件行,打开如下地址:D:\B\toolbox\libsvm-3.24\matlab打开make.m文件,将make.m中的CFLAGS改为COMPFLAGS。

注:因为matlab中有自带的svm,为了防止libsvm和自带的svm发生冲突,所以将D:\B\toolbox\libsvm-3.24\matlab中将svmtrian.c和svmpredic.c前面加入lib,相应的make.m文件中也做修改第四步,安装编译器编译器采用最新版tdm64-gcc-9.2.0,安装教程很简单选择Creat,保存路径直接选择C盘即可,C:\TDM-GCC-64。

第五步,使用matlab读取C语言程序。

Matlab文件行调整到此目录下D:\B\toolbox\libsvm-3.24\matlab 并在命令行窗口输入:setenv('MW_MINGW64_LOC','C:\TDM-GCC-64')make点击回车,当命令行窗口出现:使用'MinGW64 Compiler (C)' 编译。

MEX 已成功完成。

使用'MinGW64 Compiler (C)' 编译。

MEX 已成功完成。

使用'MinGW64 Compiler (C)' 编译。

MEX 已成功完成。

论Matlab的libsvm的安装

论Matlab的libsvm的安装

再论Matlab的libsvm的安装之所以要把这个无聊的问题再次发帖,因为我怕以后我会忘记,我可以来论坛寻找,也因为这是使用libsvm的第一步(我在网上找了很久没有发现)最关键的是compilers的选择(对于把Microsoft visual stdio 2005或者其他的编译器安装在自定义目录下的这一步非常关键)以下是步骤:>> mex -setup % 这是必须的Please choose your compiler for building external interface (MEX) files:Would you like mex to locate installed compilers [y]/n? n%这次是选择编译器,输入n,因为你的是自定义的%出现下面的选项:Select a compiler:[1] Borland C++ Compiler (free command line tools) 5.5[2] Borland C++Builder 6.0[3] Borland C++Builder 5.0[4] Compaq Visual Fortran 6.1[5] Compaq Visual Fortran 6.6[6] Intel C++ 9.1 (with Microsoft Visual C++ 2005 linker)[7] Intel Visual Fortran 9.1 (with Microsoft Visual C++ 2005 linker)[8] Intel Visual Fortran 9.0 (with Microsoft Visual C++ 2005 linker)[9] Intel Visual Fortran 9.0 (with Microsoft Visual C++ .NET 2003 linker)[10] Lcc-win32 C 2.4.1[11] Microsoft Visual C++ 6.0[12] Microsoft Visual C++ .NET 2003[13] Microsoft Visual C++ 2005[14] Microsoft Visual C++ 2005 Express Edition[15] Open WATCOM C++ 1.3[0] NoneCompiler: 13%这次选择13,或许你也可以用其他的The default location for Microsoft Visual C++ 2005 compilers is C:\Program Files\Microsoft Visual Studio 8,but that directory does not exist on this machine.Use C:\Program Files\Microsoft Visual Studio 8 anyway [y]/n? n%这次它说要使用默认的路径继续选择nPlease enter the location of your compiler: [C:\Program Files\Microsoft Visual Studio 8] %它的意思是让你输入编译器的位置,输入:D:\Program Files\Microsoft Visual Studio 8% 下面就是确认了Please verify your choices:Compiler: Microsoft Visual C++ 2005Location: D:\Program Files\Microsoft Visual Studio 8Are these correct?([y]/n): y*************************************************************************** Warning: MEX-files generated using Microsoft Visual C++ 2005 requirethat Microsoft Visual Studio 2005 run-time libraries beavailable on the computer they are run on.If you plan to redistribute your MEX-files to other MA TLABusers, be sure that they have the run-time libraries.You can find more information about this at:/support/solutions/data/1-2223MW.html***************************************************************************Trying to update options file: C:\Documents and Settings\Administrator\Application Data\MathWorks\MATLAB\R2007a\mexopts.batFrom template: D:\PROGRA~2\MA TLAB\R2007a\bin\win32\mexopts\msvc80opts.batDone . . . % ok,done!>> make>>%至此彻底完成,%以下是测试>>load heart_scale.mat>>model = svmtrain(heart_scale_label, heart_scale_inst, '-c 1 -g 0.07');>> [predict_label, accuracy, dec_values] = svmpredict(heart_scale_label, heart_scale_inst, model); %Accuracy = 86.6667% (234/270) (classification)% done。

libsvm安装过程及错误提示

libsvm安装过程及错误提示

libSVM安装过程及错误提示libSVM是用C++语言编写而成的,它提供了和其它软件诸如Matlab的接口,所以如果想要在Matlab中使用,首先要在Matlab中对C文件进行混合编译,把C文件转换为Matlab可以执行的.dll文件。

Matlab程序是一种解释执行程序,不用编译等预处理,程序运行速度较慢。

C/C++语言是高级程序设计语言之一,它可对操作系统和应用程序以及硬件进行直接操作,用C/C++语言明显优于其它解释型高级语言,一些大型应用软件如Matlab 就是用C语言开发的。

通过把耗时长的函数用c语言实现,并编译成mex 函数可以加快执行速度。

Matlab调用C/C++的方式主要有两种:利用MEX技术和调用C/C++动态连接库。

libSVM在Matlab中的安装采用的是第一种方式。

在Matlab与C/C++混合编程之前,必须先对Matlab的编译应用程序mex和编译器mbuild进行正确的设置:系统XP,Matlab版本2013a,C编译器为VS2010.1. 下载libSVM下载链接:D:\Program Files\matlab 2013a\toolbox\libsvm-3.18\matlab下载好保存到合适的路径,推荐Matlab安装目录下的toolbox中2. 解压文件3. 将libSVM所在的文件夹加入Matlab的搜索路径,在菜单栏的Set Path中可以设置。

Matlab执行程序时,如果在当前路径下没有找到所需的文件,会在搜索路径中继续寻找,所以要确保要使用的文件至少在搜索路径中。

如果Matlab 提示找不到文件,而文件又真是存在,很可能的原因是忘记将文件所在目录添加到Matlab的搜索路径下了。

4. 设置mex,这里要先将Matlab的当前目录切换到libsvm安装目录下的matlab子文件夹上。

这一步在mex的设置时并不是必须的,而是在后面的步骤时必须的,但是为了防止后面忘记,所以这里设置完搜索路径顺便设置当前目录。

matlab下安装libsvm遇到的问题

matlab下安装libsvm遇到的问题

matlab下安装libsvm遇到的问题最近在matlab下装libsvm工具箱,遇到许多问题,总结一下,希望对大家有帮助。

首先,具体的安装步骤在/thread-18080-1-1.html上有详细的说明,在此表示感谢!但是在安装过程中还是出现很多问题。

首先要说一下,我的操作系统是win7旗舰版64位的,之前安装过VS2010,matlab装的是2008a,可是在安装libsvm工具箱的时候错误一堆。

碰到的错误有:1.在用编译器对libsvm进行编译的时候(第二步)报错;2.输入make后,报错:说找不到E:\什么什么文件;3.测试libsvm是否安装成功的时候报错:??? Error using ==> loadNumber of columns on line 1 of ASCII file C:\ProgramFiles\MATLAB\R2011a\toolbox\libsvm-3.1\heart_scalemust be the same as previous lines.后来弄了很多方法,都不成功。

最后,我看到libsvm网站上解释了64位机器下的问题,解决方法:首先卸载VS2010,可能我之前安装的时候有什么地方没有注意到,导致编译器出问题。

后来看到matlab网站上说要是安装VS2010的话,在安装的时候要选择“X64 Compilers and Tool s ”,这选项在安装的时候默认是不选的。

但是我后来安装的是VC++ 2010 Express和Windows Software Development Kit (SDK) 7.1 。

matlab网站上说着两个是必须要安装的(针对64位机器,其实32位装VC++ 6.0就可以了)。

然后我又把matlab卸载了,安装了matlab 2011a(这个纯属自己的问题,反正都要重新弄一遍,索性装个新的,O(∩_∩)O~)。

再按照网上的安装教程一步一步安装。

如何使用MATLAB-LIBSVM

如何使用MATLAB-LIBSVM

如何使用matlab-libsvm测试数据?首先需要声明的是,本文是根据MA TLAB技术论坛的视频Libsvm的下载、安装和使用(《Learn SVM Step by Step》by faruto2),自己经过实践后做的一个总结,希望对需要的人有用!1、Libsvm官方提供的测试数据(原始数据格式是给libsvmC++版本使用,在MA TLAB平台下需要使用libsvmread进行格式转换):.tw/~cjlin/libsvmtools/datasets/以breast-cancer_scale数据集为例,下面介绍具体操作,操作之前必须保证打开的MA TLAB环境下,当前目录是…\libsvm-3.1-[FarutoUltimate3.1Mcode]\matlab即下图所示:然后输入下面代码:[label_vector,instance_matrix]=libsvmread(‘breast-cancer_scale.txt’)model=svmtrain(label_vector,instance_matrix)[plabel,accuracy]=svmpredict(label_vector,instance_matrix,model)2、UCI数据库:/ml/datasets.html下面以wine_data数据集为例,介绍具体操作:先将下载好的wine.data数据集放在…\libsvm-3.1-[FarutoUltimate3.1Mcode]\matlab文件夹下面,必须保证打开的MA TLAB环境下,当前目录如下图所示:然后在打开的MA TLAB环境下,File->Import Data…->文件类型(all files)->选择wine.data,接下来输入下面代码:wine_label=wine(:,1)结果如图所示wine_data=wine(:,2:end)结果如图所示savewinedata.mat结果如图所示loadwinedata结果如图所示modelw=svmtrain(wine_label,wine_data)结果如图所示[plabelw,accuracyw]=svmpredict(wine_label,wine_data,modelw) 结果如图所示。

libsvm的安装使用操作手册

libsvm的安装使用操作手册

Libsvm工具箱和Lssvm工具箱是svm实现中比较不错的两个工具箱,/soft/59793.html libsvm工具箱官网下载/f/19658075.html新浪也有对应的下载,但是版本不同,都可以用。

下载下来的Libsvm都有如下内容:从3.1版本开始,官方将matlab平台、java平台、python平台以及C++平台整合到一个文件夹下,下载这一个文件夹可以在以上平台上使用。

其中matlab平台上有如下内容:其中svmtrain.c和svmpredict.c是核心函数。

Matlab平台下的libsvm的安装过程如下:以下是将Libsvm工具箱所在的文件夹添加到matlab工作搜索目录(路径):——File——Setpath——Add with Subfoders。

对应的界面的截图如图所示:选择刚才下载的工具箱的文件夹。

这里需要解释下的是,我们刚才选择的是Add with Subfolders而不是Add folder原因是Add with Subfolders可以将文件夹下的子文件夹都添加在其中,而Add Folder不能添加子文件夹。

之后可以看到我们已经将libsvm的文件夹以及它的子文件夹都添加到了matlab的Set Path中。

接着点击按钮,然后点击按钮关闭窗口,接下来就可以在setpath中看到对应的文件夹(路径)了。

在Current Directory就是当前目录,将当前目录调整到放libsvm工具箱的子目录中。

如图所示:点击浏览按钮,选择相应的文件夹即可。

我们可以用“mex –set up”这个命令来进行选择编译器:在Command Window中键入该命令,会询问我们是否需要确认已经安装的编译器:我们选择y,在我的机器上会出现如下结果:在这里显示的是我安装了三种编译器。

我们选择第三个编译器,在窗口中输入3,。

LibSVM在matlab中的使用

LibSVM在matlab中的使用

LibSVM 在matlab 中的使⽤搞了⼀天,看了很多资料,终于搞好了matlab 中调⽤⼤⽜写好的svm 库,将结果告诉⼤家避免以后⾛弯路。

1. 参考⽹站:2. 操作流程:请注意:详细操作流程请参考上⾯的“详解”⽹站,这⾥只说⼤框架和详解⾥没有提到的问题。

A.设置pathFile->set path ->add with subfolders->加⼊libsvm-3.11⽂件夹的路径B. 在matlab 中编译⽬的:将libsvm-3.11\matlab 中 libsvmwrite.c 等 C++⽂件编译成 libsvmread.mexw32 等matlab ⽂件,这样就可以在command window 中被直接调⽤了。

注意:在最外⾯的Readme 中有提到已经有编译好的⽂件,⽐如在libsvm-3.11\windows 中也会看到libsvmread.mexw32,但这⾥不要被误导!还是需要你⾃⼰再编译⼀遍的!(还有如果matlab 版本太低,如matlab 7.0是不能⽤VS 作为编译器的,只能⽤VC++ 6.0,这是我劝你给matlab 升级吧!别装vc 了~我就是这样,升级到Matlab 2011b 就可以⽤VS2008做编译器了)C.加载数据集就是这⾥搞了我⼀下午!加载数据集有两个数据集,⼀个是C++的, ⼀个是matlab 的。

libsvm 库中下载的是C++数据,所以matlab 加载我们下载的heart_scale 是会报错的:<这就是视频中遗漏的⼩问题>这时怎么办?法2、⽤libsvmread ⽽⾮load ,就是这⾥这样就可以加载数据集了,完成该步骤后发现Workspace 中出现了heart_scale_inst 和 heart_scale_label,说明正确。

ok ,下⼀步我们来测试svm 的训练和predictD.train & predict可以看到结果:=========================MAC 版如何在matlab 中使⽤libsvm=========================下⾯说下mac 怎么⽤libsvm ,这⾥的问题是mex -setup 的问题,需要安装⼀个补丁。

MATLAB安装使用libsvm详细步骤

MATLAB安装使用libsvm详细步骤

MATLAB安装使⽤libsvm详细步骤根据本⽂后⾯部分博友提出的在配置过程中出现的问题,其中需要特别强调的⼀点:整个过程,都是在 libsvm-3.12\matlab⽬录下操作的。

如果这⼀点你忽视了,你不可能解决配置中报的Bug,即使重新安装matlab也不⾏。

本⽂的配置路径为 D:\MATLAB\R2010a\toolbox\libsvm-3.12\matlab,从始⾄终都是在这个⽬录下进⾏的。

当然,你也可以将编译好的⽂件拷贝到任何地⽅,只要你当前的⼯作⽬录中有这四个⽂件即可。

////////////////////////////详细步骤如下:1.下载libsvm.tw/~cjlin/libsvm/我的matlab版本 R2010a,我的libsvm版本3.122.解压⾄指定⽬录将libsvm解压⾄D:\MATLAB\R2010a\toolbox下,你也可以解压⾄你喜欢的地⽅。

3.设置路径下载下来的借⼝包⾥有svm的⼀些源⽂件,没有可执⾏的exe⽂件,所以,必须先将svmtrain等源⽂件编译为matlab可以使⽤的dll等⽂件。

于是先选择编译器,如下:4.编译libsvm我的编译器是VC++ 6.0⾸先在matlab设置当前⽬录为 D:\MATLAB\R2010a\toolbox\libsvm-3.12\matlab5.执⾏编译在matlab命令窗⼝中输⼊mex -setup显⽰Please choose your compiler for building external interface (MEX) files:Would you like mex to locate installed compilers [y]/n?输⼊ySelect 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] NoneCompiler:需要你选择编译器我输⼊的是3 即选择VC++ 6.0Please verify your choices:Compiler: Microsoft Visual C++ 6.0Location: D:\Program Files\Microsoft Visual StudioAre these correct [y]/n?再次确认⾃⼰的选择,输⼊yTrying to update options file: C:\Users\DELL\AppData\Roaming\MathWorks\MATLAB\R2010a\mexopts.batFrom template: D:\MATLAB\R2010a\bin\win32\mexopts\msvc60opts.batDone . . .编译器选择好了之后,⽤make.m编译命令窗⼝输⼊make可以看到新编译出4个⽂件libsvmread.mexw32,libsvmwrite.mexw32,svmtrain.mexw32,svmpredict.mexw32在命令窗⼝中输⼊load heart_scale;此时需注意,libsvm 3.12中提供的是c++版本的数据集heart_scale,这⾥需要加载matlab版本的数据集。

LIBSVM使用方法

LIBSVM使用方法

LIBSVM使用方法LIBSVM使用方法1 LIBSVM简介2 LIBSVM使用方法LibSVM是以源代码和可执行文件两种方式给出的。

如果是Windows系列操作系统,可以直接使用软件包提供的程序,也可以进行修改编译;如果是Unix类系统,必须自己编译,软件包中提供了编译格式文件,我们在SGI工作站(操作系统IRIX6.5)上,使用免费编译器GNU C++3.3编译通过。

2.1 LIBSVM 使用的一般步骤:1) 2) 3) 4) 5) 6) 按照LIBSVM软件包所要求的格式准备数据集;对数据进行简单的缩放操作;考虑选用RBF 核函数;采用交叉验证选择最佳参数C与g;采用最佳参数C与g 对整个训练集进行训练获取支持向量机模型;利用获取的模型进行测试与预测。

2.2 LIBSVM使用的数据格式该软件使用的训练数据和检验数据文件格式如下:: : ...其中是训练数据集的目标值,对于分类,它是标识某类的整数(支持多个类);对于回归,是任意实数。

是以1开始的整数,可以是不连续的;为实数,也就是我们常说的自变量。

检验数据文件中的label只用于计算准确度或误差,如果它是未知的,只需用一个数填写这一栏,也可以空着不填。

在程序包中,还包括有一个训练数据实例:heart_scale,方便参考数据文件格式以及练习使用软件。

可以编写小程序,将自己常用的数据格式转换成这种格式。

2.3 Svmtrain和Svmpredict的用法Svmtrain(训练建模)的用法:svmtrain [options] training_set_file [model_file]Options:可用的选项即表示的涵义如下-s svm类型:SVM设置类型(默认0)0 -- C-SVC1 --v-SVC2 –一类SVM3 -- e -SVR4 -- v-SVR-t 核函数类型:核函数设置类型(默认2)0 –线性:u'v1 –多项式:(r*u'v + coef0)^degree2 – RBF函数:exp(-r|u-v|^2)3 –sigmoid:tanh(r*u'v + coef0)-d degree:核函数中的degree设置(默认3)-g r(gama):核函数中的?函数设置(默认1/ k)-r coef0:核函数中的coef0设置(默认0)-c cost:设置C-SVC,? -SVR和?-SVR的参数(默认1)-n nu:设置?-SVC,一类SVM和?- SVR的参数(默认0.5)-p e:设置? -SVR 中损失函数?的值(默认0.1)-m cachesize:设置cache内存大小,以MB为单位(默认40)-e ε:设置允许的终止判据(默认0.001)-h shrinking:是否使用启发式,0或1(默认1)-wi weight:设置第几类的参数C为weight?C(C-SVC中的C)(默认1)-v n: n-fold交互检验模式其中-g选项中的k是指输入数据中的属性数。

LIBSVM(一)安装及容易遇到的问题

LIBSVM(一)安装及容易遇到的问题

登录后才能查看或发表评论立即登录或者逛逛博客园首页
LIBSVM( 一 ) 安 装 及 容 易 遇 到 的 问 题
1.下载libsvm-3.23
2.安装
2.1 解压,将解压后的文件放到MATLAB安装目录的toolbox
2.2 set path 至 D:\software\matlab\toolbox\libsvm-3.23
2.3 工作目录调整至 D:\software\matlab\toolbox\libsvm-3.23\matlab
3.编译
3.1 mex -setup
(易错:Matlab 未找到支持的编译器或 SDK 解决方法归纳
4. 测试
4.2 指令
% load heart_scale.mat; % model = svmtrain(heart_scale_label,heart_scale_inst); % [predict_label, accuracy, dec_values] = svmpredict(heart_scale_label, heart_scale_inst, model);
% 预测测试集合标签 [ptest,acctest] = svmpredict(testlabel,testdata,model); % 预测精度 [predict_label, accuracy, dec_values] = svmpredict(heart_scale_label, heart_scale_inst, model);
load heart_scale.mat; data = heart_scale_inst; label = heart_scale_label;
% 选取前200个数据作为训练集合,后70个数据作为测试集合 ind = 200; traindata = data(1:ind,:); trainlabel = label(1:ind,:); testdata = data(ind+1:end,:); testlabel = label(ind+1:end,:);

libsvm-mat在MATLAB平台下的安装

libsvm-mat在MATLAB平台下的安装

libsvm-mat在MATLAB平台下的安装安装libsvm-mat是在MATLAB平台下使用libsvm的前提,如果没有安装好也就无法使用,在MATLAB平台下安装libsvm-mat一般有以下几个大步骤:前提:已经有好libsvm-mat包。

1.将libsvm-mat所在工具箱添加到matlab工作搜索目录(File ——》Set Path… ——》Add with Subfolders...);2.选择编译器(mex -setup)推荐使用Microsoft Visual C++ 6.0编译器或者更高版本的visual studio,一般MATLAB会自带一个编译器Lcc-win32 C 但这个在这里无法使用!因为libsvm源代码使用c++写的,而Lcc-win32 C是一个c编译器,无法编译c++源代码!下面具体说说如何选择编译器。

首先在MATLAB命令窗【Commond Window】中输入:1.mex -setupRemark : 注意mex后面要打一个空格然后是-setup。

千万别忘记打一个空格,发现好多朋友在mex和-setup之间没有打空格!!会出现类似如下内容:1.Please choose your compiler for building external interface (MEX) files:2.Would you like mex to locate installed compilers [y]/n?问你是否locate本机安装的编译器,正规的选择y然后指定编译器即可,先来看一下选择y (选择n在后面说):根据你本机安装的编译器,会出现类似如下内容:1.Please choose your compiler for building external interface (MEX) files:2.Would you like mex to locate installed compilers [y]/n? y3.Select a compiler:4.[1] Lcc-win32 C 2.4.1 in D:\MATLAB~1\sys\lcc5.[2] Microsoft Visual C++6.0 in D:\Microsoft Visual Studio6.7.[0] None8.piler:然后你选择相应的编译器并确认即可:piler: 22.3.Please verify your choices:4.piler: Microsoft Visual C++6.06.Location: D:\Microsoft Visual Studio7.8.Are these correct [y]/n? y9.10.Trying to update options file:C:\Users\faruto\AppData\Roaming\MathWorks\MATLAB\R2009b\mexopts.bat11.From template: D:\MATLAB~1\bin\win32\mexopts\msvc60opts.bat12.13.Done . . .这样就表示编译器选择成功了(此步骤中可能会出现warning警告是正常现象,不用管的说~)。

matlab下的LIBSVM的使用

matlab下的LIBSVM的使用
4
相关参数
-c(默认1,范围(0,+ ))
-n(默认0.5,范围(0,1]) -n(默认0.5,范围(0,1])
-c(默认1,(0, + )) -p(默认0.1,(0, + ))
-c(默认1,(0, + ))
-n(默认0.5,(0,1])
Company Logo
主要参数设置
-t(默认2)——选择核函数
Company Logo
测试数据及格式
测试数据集
– libsvm官方提供的测试数据格式是C++版本使用 的,需要使用libsvmread进行格式转换
– UCI数ቤተ መጻሕፍቲ ባይዱ集 –等
格式
– 标签 属性编号1:属性值1 属性编号2: 属性值2 – 如:+1 1:0.78 2:1 3:1 ........
如如modelsvmtrainlabeldatac1w12w105companylogo标签1的样本惩罚参数为2标签为1的样本惩罚参数为05主要参数设置?v一般选择5或10交叉检验参数必须大于2当使用此参数时返回的结果不再是一个结构体model分类问题返回的是交叉检验下的平均分类准且率回归问题回归问题返回的是交叉检验下的平均均方差误差返回的是交叉检验下的平均均方差误差companylogo测试数据及格式?测试数据集libsvm官方提供的测试数据格式是c版本使用的需要使用libsvmread进行格式转换uci数据集等companylogo?格式标签属性编号1
Company Logo
编译
make 命令
– 编译后文件夹中会出现多个svmtrain.mexw32、 svmpredict.mexw32等文件。
– .mexw32文件是加密文件,打开为乱码。 – 运行help对这些函数无效
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab 2019a Libsvm3.23 MW_MINGW64_6.3环境建立指南
安装libsvm过程很漫长,虽然参考了网上各种指南,发现在国内的网络下安装MW_MINGW64太痛苦了。

这里总结下,供大家参考
本人PC系统Windows7 64bit,matlab安装的2019a,libsvm安装的version3.23
1.首先需要下载libsvm包:
2.将libsvm
3.23解压到matlab/toolbox目录下:
3.运行matlab,在主页(home)的设置路径(set path)中添加libsvm及子文件夹:
4.将当前路径设置到libsvm 3.2.2/matlab 后,
在命令行窗口运行mex -setup
5.如果提示找不到编译器,请安装MinGW64 Compiler (C++),注意:必须
6.3版本,
其他都有问题。

6.配置环境变量:从我的电脑属性-高级系统设置-高级-环境变量中,添加到系统变量(大
部分配置环境变量都是如此)。

变量为:MW_MINGW64_LOC,值为:MinGW63的位置。

7.在MATLAB命令行内运行命令setenv('MW_MINGW64_LOC',folder),MinGW63的位置,
要加单引号。

例如:setenv('MW_MINGW64_LOC','C:\mingw63')
8.此时mex –setup C++ 可以正常使用,不然重启matlab即可。

MEX 配置为使用'MinGW64 Compiler (C++)' 以进行C++ 语言编译。

警告: MATLAB C 和Fortran API 已更改,现可支持
包含2^32-1 个以上元素的MATLAB 变量。

您需要
更新代码以利用新的API。

您可以在以下网址找到更多的相关信息:
9.出现如上内容,再对C语言文件进行编译,编译为matlab能够识别的文件,在命令行
窗口输入编译命令: make
显示上图表示成功
10.如果错误提示:
使用'MinGW64 Compiler (C)' 编译。

Error: D:\matlab2016b\toolbox\libsvm-3.22\matlab\make.m failed (line 13)
gcc: error: \-fexceptions: No such file or directory
=> Please check README for detailed instructions.
需要打开libsvm3.2.2/matlab目录下的make.m,将其中所的CFLAGS替换为COMPFLAGS(替换运用CTRL+F即可),替换后,重启matlab,执行make则可以编译成功。

以上命令,每次打开matlab都需要,因此可以建立startup.m,这样每次打开matlab,可以自动执行。

可以在C:\Program Files\Polyspace\R2019a\bin下建立startup.m文件。

startup.m。

相关文档
最新文档