• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Matlab 导入libsvm

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Matlab 导入libsvm

由于科研需求,需要用到libsvm库内特有的SVDE分类器,因此琢磨了一下如何在matlab中使用libsvm,先将版本说明如下:


操作步骤

1) https://github.com/cjlin1/libsvm或者官网下载http://www.csie.ntu.edu.tw/~cjlin/libsvm/
2)解压缩安装到任意目录下即可,建议到matlab的安装目录下的toolbox中,我的是C:\Program Files\MATLAB\R2014a\toolbox。
3)将libsvm的安装目录添加到matlab的路径下,即:

保存关闭即可。其实将libsvm_master下面的windows目录添加进来好像就够了,但是为了防止出错,我还是把整目录都加进来了。
4)对于64windows操作系统,无需额外的编译操作,因为libsvm_master的windows下包含了matlab可执行的二进制文件libsvmread.mexw64/libsvmwrite.mexw64/svmpredict.mexw64/svmtrain.mexw64。但是我在运行的过程中出错,后来参考了第一篇博客的方法,也就是和32位操作系统下的执行步骤一样。见下面5)
5)对于32位操作系统和matlab,需要自己编译生成二进制文件**.mexw64。
首先在matlab运行窗口输入mex -setup,我的没有多种编译器选择,直接出现的是这个,反之已经有配置的VC 2010编译器了。

接着,将运行目录切换到C:\Program Files\MATLAB\R2014a\toolbox\libsvm_master\matlab,该目录下有一个make.m,即用于编译生成二进制文件的

成功:在该目录下生成了4个mexw64文件,将它们复制到libsvm_master的windows目录下即可。

6)测试数据:将运行目录切换到C:\Program Files\MATLAB\R2014a\toolbox\libsvm_master,该目录下有个测试数据heart_scale.mat,使用以下命令测试:
[heart_scale_label,heart_scale_inst]=libsvmread(‘heart_scale’);
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); % test the trainingdata
如果出现一行:Accuracy = 86.6667% (234/270) (classification)。就说明成功了。就可以在matlab中使用svm了。

出现的问题及解决方法

即使在看似这么简单的过程中我也遭遇了重重困难啊,苍天啊!将自己遇到的问题和解决方法和大家分享一下。
1. 版本问题:注意matlab的位数版本要和操作系统保持一致,visual studio的版本要低于matlab的版本,具体的版本对应可以看https://cn.mathworks.com/content/dam/mathworks/mathworks-dot-com/support/sysreq/files/SystemRequirements-Release2014a_SupportedCompilers.pdf
2. 无法识别安装的visual studio编译器的问题:
1)问题:输入mex-setup提示无法找到支持的编译器,此时已经下载了visual studio2010了。
2)方法:参考第二篇博客的方法, 更改了C:\Program Files\MATLAB\R2014a\bin\win64\mexopts\compilerComponents目录下的msvc90shellopts.stp文件。修改内容:将第七行 my default location后面的9.0改成了当前2010的版本,此外分别将27行和52行的9.0改成了10.0。保存重启matlab即可。

3. win64下不能直接使用libsvm,于是按照32位下的方法,自己勤恳地编译产生二进制文件,步骤在上面已经详细写好了。
即使用户在没有网络的情况下,也可以通过本编辑器离线写博客(直接在曾经使用过的浏览器中输入write.blog.csdn.net/mdeditor即可。
本博客转载请注明地址和参考博客哦
欢迎留言咨询,不定时上线,毕竟第一篇博客(●’◡’●)



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
如何修改MATLAB Application Compiler生成的 .exe文件的图标发布时间:2022-07-18
下一篇:
MATLAB——画图(经典)发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap