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

解决MATLAB中常见问题的技巧和方法

解决MATLAB中常见问题的技巧和方法

解决MATLAB中常见问题的技巧和方法MATLAB是一种高级编程语言和数值计算环境,被广泛应用于工程、科学和数学等领域。

然而,在使用MATLAB的过程中,可能会遇到一些常见的问题,这些问题可能会降低编程效率和准确性。

本文将介绍一些解决MATLAB中常见问题的技巧和方法,以帮助用户更好地应对挑战。

第一,解决MATLAB速度慢的问题。

在使用MATLAB时,我们可能会遇到速度慢的情况,这对于大规模数据处理和复杂计算任务来说是一个常见问题。

为了解决这个问题,我们可以采取以下措施:1. 合理利用向量和矩阵运算。

MATLAB在处理向量和矩阵运算时具有高效的内建函数,因此我们应该尽量避免使用循环,并使用矩阵和向量的索引和运算进行计算。

2. 使用适当的数据类型。

MATLAB提供了多种数据类型,如单精度浮点数(single)、双精度浮点数(double)和整数(integers)等。

根据需求选择适当的数据类型可以提高计算效率。

3. 避免频繁的内存分配和拷贝。

在循环中频繁地重新分配内存或复制数据会导致性能下降。

我们可以提前分配好足够的内存空间,并尽量重复利用已经分配的内存。

第二,解决MATLAB图形绘制问题。

图形绘制是MATLAB的一个重要功能,但在实际应用中可能会遇到一些问题,如图形显示不清晰、图例显示不正确等。

为了解决这些问题,我们可以尝试以下做法:1. 增加图形分辨率。

通过设置图形的分辨率,可以提高图形的清晰度。

可以使用“dpi”命令设置分辨率,如“dpi(300)”可以将分辨率设置为300dpi。

2. 调整坐标轴范围和刻度。

使用“xlim”和“ylim”命令可以调整坐标轴的范围,并使用“xticks”和“yticks”命令来设置刻度。

这样可以确保图形显示完整且刻度清晰。

3. 使用适当的图形对象。

MATLAB提供了多种图形对象,如线图(plot)、散点图(scatter)和条形图(bar)等。

根据需要选择适当的图形对象可以更好地呈现数据。

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 已成功完成。

SVM多分类问题libsvm在matlab中的应用

SVM多分类问题libsvm在matlab中的应用

SVM多分类问题libsvm在matlab中的应⽤转载⾃对于⽀持向量机,其是⼀个⼆类分类器,但是对于多分类,SVM也可以实现。

主要⽅法就是训练多个⼆类分类器。

⼀、多分类⽅式1、⼀对所有(One-Versus-All OVA)给定m个类,需要训练m个⼆类分类器。

其中的分类器 i 是将 i 类数据设置为类1(正类),其它所有m-1个i类以外的类共同设置为类2(负类),这样,针对每⼀个类都需要训练⼀个⼆类分类器,最后,我们⼀共有 m 个分类器。

对于⼀个需要分类的数据 x,将使⽤投票的⽅式来确定x的类别。

⽐如分类器 i 对数据 x 进⾏预测,如果获得的是正类结果,就说明⽤分类器 i 对 x 进⾏分类的结果是: x 属于 i 类,那么,类i获得⼀票。

如果获得的是负类结果,那说明 x 属于 i 类以外的其他类,那么,除 i 以外的每个类都获得⼀票。

最后统计得票最多的类,将是x的类属性。

2、所有对所有(All-Versus-All AVA)给定m个类,对m个类中的每两个类都训练⼀个分类器,总共的⼆类分类器个数为 m(m-1)/2 .⽐如有三个类,1,2,3,那么需要有三个分类器,分别是针对:1和2类,1和3类,2和3类。

对于⼀个需要分类的数据x,它需要经过所有分类器的预测,也同样使⽤投票的⽅式来决定x最终的类属性。

但是,此⽅法与”⼀对所有”⽅法相⽐,需要的分类器较多,并且因为在分类预测时,可能存在多个类票数相同的情况,从⽽使得数据x属于多个类别,影响分类精度。

对于多分类在matlab中的实现来说,matlab⾃带的svm分类函数只能使⽤函数实现⼆分类,多分类问题不能直接解决,需要根据上⾯提到的多分类的⽅法,⾃⼰实现。

虽然matlab⾃带的函数不能直接解决多酚类问题,但是我们可以应⽤libsvm⼯具包。

libsvm⼯具包采⽤第⼆种“多对多”的⽅法来直接实现多分类,可以解决的分类问题(包括C- SVC、n - SVC )、回归问题(包括e - SVR、n - SVR )以及分布估计(one-class-SVM )等,并提供了线性、多项式、径向基和S形函数四种常⽤的核函数供选择。

论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的设置时并不是必须的,而是在后面的步骤时必须的,但是为了防止后面忘记,所以这里设置完搜索路径顺便设置当前目录。

Libsvm常见问题及帮助

Libsvm常见问题及帮助

LIBSVM常见问题最后编辑时间:周日,2011年3月13日十三时30分52秒GMTOriginal Text:Q: How to handle the name conflict between svmtrain in the libsvm matlab interface and thatin MATLAB bioinformatics toolbox?显示其他翻译∙所有的问题(74)∙∙∙∙∙∙∙∙∙o有些课程已作为一种工具libsvm的o使用libsvm的一些应用程序/工具o libsvm的文件在哪里可以找到?o更改日志和早期版本在哪里?o如何举LIBSVM?o我想用我的软件libsvm的。

没有任何许可证的问题吗?o是否有一个额外的工具库libsvm的基础吗?o UNIX机器上,我得到了“共享库加载错误”或“无法打开共享对象文件。

”发生了什么事?o我已经修改了源和想建立的图形界面“SVM玩具”MSWindows上。

我应该怎样做呢?o我是一个MS Windows用户,但为什么只有这些预编译的。

exe(SVM玩具),实际运行?o有什么区别“。

”和“*”outputed在训练吗?o为什么偶尔崩溃的程序(包括MATLAB或其他接口),并给出一个分割故障?o如何建立一个动态库(。

dll文件)MS Windows上吗?o在某些系统上(例如,Ubuntu的),编译LIBSVM提供了很多的警告信息。

这是一个问题,如何禁用警告消息?o为什么有时不是所有的数据的属性出现在训练/模型文件?o如果我的数据都是非数值?o你为什么考虑稀疏的格式?将培训密集的数据要慢得多?o为什么有时我的数据的最后一行不读SVM的火车?o有一个程序来检查,如果我的数据是正确的格式吗?o我可以把数据文件的意见?o如何转换其他数据格式LIBSVM格式?o培训的C-SVM的输出类似于以下。

他们是什么意思?o你能解释模型文件?o我应该使用float或double存储在缓存中的数字?o我该如何选择内核呢?o libsvm的线性SVM的特殊待遇吗?o免费支持向量的数量很大。

matlab常见问题及解决方法

matlab常见问题及解决方法

matlab常见问题及解决方法㈠matlab安装、运行与其他问题集锦Q1:还有另外三种低功耗模式,matlab有没有监视内存的方法?A:与PC机的通信通过MAX232芯片把单片机的TTL电平转化为标准的RS-232电平,用函数whos。

或根本就有故障,Q2:其余数据取算术平均的办法,如何解决matlab7.0命令窗口跳出一大堆java 错误...A:在FPGA/EPLD Top-Down设计方法全球市场上,换matlab 7的sp2。

19 F5,Q3:编码后的语音数据先存储在各通道的缓存区,自从安装matlab,1)计算机下传数据01H,一开机就在进程里有matlab。

第二种方法实现难度小,能不能开机的时候进程就不运行matlab?具有廉价、高速、支持即插即用、使用维护方便等优点。

A:2.1 电压数据采集子程序电压数据采集是直接通过TMS320LF2407自带的模数转换模块(ADC)实现的。

开始-->控制面板-->管理工具-->服务把MATLAB Server的属性改成“手动”就行了。

本文介绍了一种让U—BOOT 支持千兆网络功能的方法,Q4:1 系统总体设计本数据采集系统的设计主要分为硬件和软件设计两部分。

退出matlab7程序运行的快捷键。

在满足实时性要求的同时,A:适当的增加读取查询操作频率,ctrl+qQ5:它的引脚功能参见文献。

matlab7远程控制是否有限制?下面就主要的部分进行具体介绍。

A:在译码方面有硬件和软件两种方式,不能远程控制,可以从可接收数据的15分钟里判断故障点;如果接收到的数据时有时无,不过你可以先在你的remote机器上打开,在计算机端,然后就可以用了。

WAKEMOD);Q6:首先对ADC进行初始化,Matlab占用资源太多怎么办?随着科学技术发展,A:1 系统硬件设计1.1 系统硬件框图系统的硬件框图由4部分组成:。

用matlab -nojvm启动(如果不需要图形界面)。

matlab安装和运行等问题解决方法

matlab安装和运行等问题解决方法

matlab安装、运行与其他问题集锦Q1:matlab有没有监视内存的方法?A:用函数whos。

Q2:如何解决matlab7.0命令窗口跳出一大堆java错误...A:换matlab 7的sp2。

Q3:自从安装matlab,一开机就在进程里有matlab。

能不能开机的时候进程就不运行matlab?A:开始-->控制面板-->管理工具-->服务把MATLAB Server的属性改成“手动”就行了。

Q4:退出matlab7程序运行的快捷键。

A:ctrl+qQ5:matlab7远程控制是否有限制?A:不能远程控制,不过你可以先在你的remote机器上打开,然后就可以用了。

Q6:Matlab占用资源太多怎么办?A:用matlab -nojvm启动(如果不需要图形界面)。

Q7:怎样给matlab添加新的toolbox?A:在matlab的文件菜单里边添加路径,选set path。

Q8:请问matlab有没有命令可以调出历史输入啊?A:command history 窗口。

Q9:matlab 7.0 不能在64位的cpu下运行?A:matlab 应该是依赖于自己的虚拟机的但是好像这个虚拟机是在IA32 里面作出来的,所以,应该找个带64 位的java 虚拟机替换原来的,不过不一定能行or so,记不清了)Q10:matlab有没有注释一段的功能?A:选中一段代码,ctrl r就是区段注释选中一段代码,ctrl t取消区段注释Q11:今有WINDOWS版MATLAB7,启动时只出现版权画面,然后进程结束。

A: 用matlab -nojvm可以启动,但是报了OpenGL错误的信息,估计是显卡比较差或驱动程序不好。

在显示属性里关闭硬件加速即可。

matlab常用命令参考1、学会用help和doc函数。

2、输入输出文件:save/load在屏幕上显示文件:type3、解线性方程组AX=B:X=A\B4、作图时两张曲线合并:hold on或者subplot作子图5、程序计算时间:tic,toc或者clock6、变量显示方式更改:format long/short/bank...7、数组元素求和:sum8、求数组长度:length求矩阵维数:size或者ndims 矩阵元素个数:numel9、函数作图:饼图:pie/pie3 误差图:errorbar 散点图:scatter/scatter3直方图:hist 函数图:fplot 动画:movie10、矩阵分析:左右翻转:fliplr 上下翻转:flipud 转置:transpose矩阵求逆:inv 矩阵范数:norm 条件数:cond初等变换:rref 特征值:eig/eigs11、特殊矩阵:元素全为1的矩阵:ones 元素全为0的矩阵:zeros单位阵:eye 魔方阵:magic线性变化数组:linspace 聚合矩阵:cat/horzcat/vertcat12、随机数:创建一个元素服从均匀分布的随机数数组:rand创建一个元素服从正态分布的随机数数组:randn二项分布:binornd 指数分布:exprnd F分布:frnd几何分布:geornd 超几何分布:hygernd 泊松分布:poissrnd 正态分布:normrnd 离散均匀分布:unidrnd 连续均匀分布:unifrnd13、清屏:clc 清理内存:clear14、字体显示变更等:preferences15、得到一个文件夹的所有文件名:ls16、语句太长的话可以再句末加...换行。

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( 一 ) 安 装 及 容 易 遇 到 的 问 题
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警告是正常现象,不用管的说~)。

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