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。

  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。

相关文档
最新文档