在matlab中安装Libsvm工具箱常见问题解决方法

合集下载

MATALB中SVM工具箱快速入手简易教程(常出现的错误解决办法)

MATALB中SVM工具箱快速入手简易教程(常出现的错误解决办法)

MATALB中SVM工具箱快速入手简易教程(常出现的错误解决办法)——胡matlab 自带的函数(matlab帮助文件里的例子)[只有较新版本的matlab中有这两个SVM的函数](本人使用的是2012版本)svmtrain svmclassify=====简要语法规则====svmtrainTrain support vector machine classifierSyntaxSVMStruct = svmtrain(Training, Group)SVMStruct = svmtrain(..., 'Kernel_Function', Kernel_FunctionValue, ...) SVMStruct = svmtrain(..., 'RBF_Sigma', RBFSigmaValue, ...)SVMStruct = svmtrain(..., 'Polyorder', PolyorderValue, ...) SVMStruct = svmtrain(..., 'Mlp_Params', Mlp_ParamsValue, ...) SVMStruct = svmtrain(..., 'Method', MethodValue, ...)SVMStruct = svmtrain(..., 'QuadProg_Opts', QuadProg_OptsValue, ...) SVMStruct = svmtrain(..., 'SMO_Opts', SMO_OptsValue, ...)SVMStruct = svmtrain(..., 'BoxConstraint', BoxConstraintValue, ...) SVMStruct = svmtrain(..., 'Autoscale', AutoscaleValue, ...) SVMStruct = svmtrain(..., 'Showplot', ShowplotValue, ...)---------------------svmclassifyClassify data using support vector machineSyntaxGroup = svmclassify(SVMStruct, Sample)Group = svmclassify(SVMStruct, Sample, 'Showplot', ShowplotValue)实例操作:在命令行中输入一下内容:(或者新建一个脚本文件)警告:如果你之前安装过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。

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,其他可能不行。

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中的SVM的一些问题的讨论

有关Matlab中的SVM的一些问题的讨论

近来就有关SVM的一些细节上的问题和版主hehaiwanghui做了一次讨论,征得同意我把这次邮件往来贴出来,好让有类似问题的朋友可以方便解决问题.O(∩_∩)Ohehaiwanghui视频看的真的是太仔细了.SVM研究的也蛮深刻的..很是强大.呵呵...Q&A:Q:--兄:你好!我是论坛中的hehaiwanghui(--),学了你的SVM视频,讲的很好,非常感谢。

学习过程,遇到几个疑问,有时间劳烦你看一下:1、svmtrain和svmpredict的m源码打开是乱码(svmtrain.mexw32和svmpredict.mexw32),对应的.c文件可以打开,问一下,有什么方式可以看到m源码,想研究一下算法,c学的不大好。

2、当使用交互验证方式训练时,输出变成为准确率了,同时在command window中输出Cross Validation Accuracy,我尝试把.c中的//mexPrintf("Cross Validation Accuracy = %g%%\n",100.0*total_correct/prob.l);注释掉了,可以做到不显示,但是感觉不方便,,能不能像神经网络那样设置不显示和显示。

不显示做起来会快很多。

3、训练得到的model里参数:model =Parameters: [5x1 double]nr_class: 3 %分成3类totalSV: 85 %总的支持向量数rho: [3x1 double] %Label: [3x1 double] %训练集的标签ProbA: []ProbB: []nSV: [3x1 double]sv_coef: [85x2 double] %SVs: [85x13 double] %支持向量我也看了readme,感觉比较抽象,有些不理解(那些没注释的)。

4、当在找最佳-c、-g时,循环里你用了log2c = -10:10log2g = -10:10-c为2^log2c,-g为2^log2g,是不是说-c和-g要是2的指数次方的数?或者说你这样取值是不是有什么优势?这样取值感觉就是把范围拉大了,间隔也大了,很多值都取不到了。

MATLAB中常见问题解决方案大全

MATLAB中常见问题解决方案大全

MATLAB中常见问题解决方案大全引言:MATLAB是一种功能强大的数学计算软件,广泛应用于科学研究、工程设计和数据分析等领域。

然而,在使用MATLAB的过程中,我们经常会遇到一些问题和困惑。

本文将总结一些常见的MATLAB问题,并提供相应的解决方案,帮助读者更好地理解和应用这个工具。

一、MATLAB的安装问题解决方案1. 问题描述:安装MATLAB时遇到许可证问题。

解决方案:首先,确保已经获取到了有效的许可证文件。

然后,运行安装程序并按照提示进行操作。

若仍出现问题,可以尝试禁用防火墙、关闭杀毒软件,并以管理员身份运行安装程序。

2. 问题描述:安装过程中出现错误代码。

解决方案:错误代码通常会提供问题的具体描述,可通过MATLAB官方网站或谷歌搜索相关错误代码进行查找。

MATLAB官方网站提供了相应的解决方案和技术支持。

二、MATLAB的基础问题解决方案1. 问题描述:如何导入和保存数据?解决方案:可以使用`load`函数导入数据,使用`save`函数保存数据。

另外,MATLAB还支持其他格式的数据导入和导出,如`csvread`和`csvwrite`用于CSV格式,`xlsread`和`xlswrite`用于Excel格式等。

2. 问题描述:如何修改MATLAB的默认设置?解决方案:可以通过修改MATLAB的配置文件来实现。

通过运行命令`edit('matlabrc.m')`可以打开该文件,并根据需要修改默认设置。

三、MATLAB的数据处理问题解决方案1. 问题描述:如何处理丢失数据?解决方案:可以使用MATLAB提供的插值函数来处理丢失数据,如`interp1`和`interp2`等。

这些函数可以根据已有数据的趋势,推断出丢失数据的可能取值,从而填补空缺。

2. 问题描述:如何处理异常值?解决方案:可以使用MATLAB中的统计函数来处理异常值,如`mean`和`median`等。

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安装光盘上的工具箱,重新执行安装程序,选中即可。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档