Matlab在Mac下使用libsvm配置

来源:互联网 发布:云计算是什么 编辑:程序博客网 时间:2024/06/05 18:07

参考链接
http://www.matlabsky.com/thread-11925-1-1.html
http://blog.csdn.net/abcjennifer/article/details/7370177
http://bbs.feng.com/read-htm-tid-5787323.html
http://noalgo.info/363.html
(recommend window下通过这篇成功运行)
http://www.cnblogs.com/dplearning/p/3848946.html
(including training processing)
http://www.ilovematlab.cn/forum.php?mod=viewthread&tid=145596
http://www.ilovematlab.cn/thread-249411-1-1.html
(含windows)
首先下载台大林智仁教授(Chih-Jen Lin)的libsvm
http://www.csie.ntu.edu.tw/~cjlin/libsvm/

其次
1. mac中安装xcode
2. xcode的preference中装command line tools
3. 下载最新补丁http://www.mathworks.cn/support/solutions/en/data/1-FR6LXJ/
4. 在matlab命令行输入>>cd(matlabroot)
5. 在matlab命令行输入这个打补丁
>>!unzip -o ~/Downloads/optsPatch_MACOSX8.patch
6. 可以运行mex -setup了,选择将原来的gcc覆盖掉
7. 到libsvm/matlab进行make

testing code

[heart_scale_label, heart_scale_inst] = libsvmread('heart_scale');model = libsvmtrain(heart_scale_label, heart_scale_inst, '-c 1 -g 0.07');[predict_label, accuracy, dec_values] = libsvmpredict(heart_scale_label, heart_scale_inst, model);

notice information:
1.这里的heart_scale是有两个数据集,一个是C++的, 一个是matlab的。libsvm库中下载的是C++数据,
所以matlab加载我们下载的heart_scale是会报错的

2.重命名(可选,但建议执行)
编译完成后,在当前目录下回出现svmtrain.mexw64、svmpredict.mexw64(64位系统)或者svmtrain.mexw32、svmpredict.mexw32(32位系统)这两个文件,把文件名svmtrain和svmpredict相应改成libsvmtrain和libsvmpredict。

这是因为Matlab中自带有SVM的工具箱,而且其函数名字就是svmtrain和svmpredict,和LIBSVM默认的名字一样,在实际使用的时候有时会产生一定的问题,比如想调用LIBSVM的变成了调用Matlab SVM。
如果有进行重命名的,以后使用LIBSVM时一律使用libsvmtrain和libsvmpredict这两个名字进行调用。

0 0
原创粉丝点击