当前位置:首页>开发>正文

matlab配置libsvm需要哪个版本的matlab了 matlab中怎么把libsvm数据转化成matlab格式

2023-04-12 22:18:01 互联网 未知 开发

 matlab配置libsvm需要哪个版本的matlab了 matlab中怎么把libsvm数据转化成matlab格式

matlab配置libsvm需要哪个版本的matlab了

我的libsvm 版本为目前最新的3.12版本,matlab版本为matlab R2011b,c/c 编译器为vs2010。提到c/c 编译器是因为matlab下安装使用libsvm需要c/c 编译器,具体matlab支持哪些版本的编译器,可以到matlab官网上查询。
安装配置过程具体如下:
1、设置matlab搜索工作目录:file->Set Path->Add With Subfolders,选择的目录为“..libsvm-3.12”,选定后,点击save,然后close即可。

2、设置matlab的当前工作目录:设置Current Folder为“..libsvm-3.12matlab”。
3、选择c/c 编译器:Command Window里面输入mex -setup,当出现提示:Would you like mex to locate installed compilers [y]/n?时,选择y,接下来就要选择编译器,我这里出现的选项有:
[1] Lcc-win32 C 2.4.1 in D:PROGRA~1MATLABR2011bsyslcc
[2] Microsoft Visual C 2010 in d:Program FilesMicrosoft Visual Studio 10.0
[3] Microsoft Visual C 2005 SP1 in E:vs2005

[0] None
我选择了2,出现提示语句:Are these correct [y]/n?,继续y之后,如果编译器选择成功,会出现:
Trying to update options file: C:Documents and SettingsAdministratorApplication DataMathWorksMATLABR2011bmexopts.bat
From template: D:PROGRA~1MATLABR2011binwin32mexoptsmsvc100opts.bat

Done . . .
3、编译:输入make命令,系统会生成如下4个文件:svmtrain.mexw32,svmpredict.mexw32,libsvmread.mexw32,libsvmwrite.mexw32。完成~

4、测试:使用 [heart_scale_label,heart_scale_inst] = libsvmread(../heart_scale)生成测试数据

model = svmtrain(heart_scale_label,heart_scale_inst)
[predict_label,accuracy] = svmpredict(heart_scale_label,heart_scale_inst,model)
model =
Parameters: [5x1 double]
nr_class: totalSV: 13 rho: 0.424 Label: [2x1 double]
ProbA: []
ProbB: []
nSV: [2x1 double]
sv_coef: [132x1 double]
SVs: [132x13 double]
accuracy =
86.666 0.533 0.532测试通过,说明libsvm在matlab中已经可以使用~

matlab中怎么把libsvm数据转化成matlab格式

[label_vector, instance_matrix] = libsvmread(data.txt)
用这个函数
data.txt是你的数据文本,label_vector是类别号,instance_matrix是属性矩阵

MATLAB libsvm安装 make问题

我装的7.0也遇到这个问题就换成了2010a,但又出现
D:PROGRA~2MATLABBINMEX.PL: Error: Compile of libsvmread.c failed.
这是vc问题吗?但是选编译器的时候是识别的