2016年6月20日更新:
经过穷折腾以及查资料,mac下以matlab使用libsvm无法使用其python工具grid.py进行参数寻优,因为grid.py是基于win编写的,其中需要调用运行svmtrain.exe以及gnuplot的一个可执行文件,而mac不能正确运行exe文件,因此参数寻优只能通过手动代码进行N折交叉验证QAQ,不能使用其本身自带的工具让本宝宝很是痛心啊!!!
于是,我在mac中安装了win ultimate虚拟机,再次安装matlab以及libsvm,以及grid.py工具使用必备的python与gnuplot。教程指路:
→Windows 7 Ultimate,64-bit+Matlab+libsvm安装过程记录
如有需要使用grid.py的筒子们可以移驾以上链接了,如果准备使用N折交叉验证方式寻优,可继续食用以下教程(づ ̄ 3 ̄)づ
----------------------------------------------------------------
安装环境:
Macbook Pro OS X EI Capitan 10.11.3 + matlab 2014b + Xcode 7.3.1 +libsvm 3.21
安装过程记录:
1.Mac下安装matlab并破解:
(网址:http://bbs.feng.com/read-htm-tid-8592168-page-5.html)
提供百度云盘下载。这篇没给教程,给的文件压缩包有十几个但其实好像只需要一个part压缩包。下载、解压、双击dmg文件,可以看到里面有个crack文件夹,里面有破解说明,按那个走就好。至此安装好matlab2014b;
2.文件下载:
matlab的补丁,用以支持xcode → http://www.mathworks.com/matlabcentral/answers/uploaded_files/4586/optsPatch10.8.patch (下载后就放在下载目录不用动)
libsvm 3.21 → http://www.csie.ntu.edu.tw/~cjlin/libsvm/libsvm-3.21.zip
3.给xcode安装command line tool:
在终端输入xcode-select --install 跳出窗口 跟着安装就好
4.matlab打补丁:
在matlab命令窗口输入命令行:
cd(matlabroot)
!unzip -o ~/Downloads/optsPatch10.8.patch
5.输入mex -setup
如果出现如下情况:
Error using mex
No supported compiler or SDK was found. For options, visit
http://www.mathworks.com/support/compilers/R2014b/maci64.html.
按以下教程处理:http://www.mathworks.com/matlabcentral/answers/246507-why-can-t-mex-find-a-supported-compiler-in-matlab-r2015b-after-i-upgraded-to-xcode-7-0#answer_194526
这个教程是英文的,过程如下:
--->进上面的网址下载一个文件xcode7_mexopts.zip
--->在matlab命令窗口输入cd( prefdir );看目录下面有没有mex开头的xml文件,有的话挪出去(就是检查一下,反正我没有 so~)
--->在matlab命令窗口输入 cd( fullfile( matlabroot, 'bin', 'maci64', 'mexopts' ) );
--->在matlab命令窗口输入 mkdir mexoptsContentsOLD
--->在matlab命令窗口输入 movefile *.xml mexoptsContentsOLD/
--->在matlab命令窗口输入 movefile( '~/Downloads/xcode7_mexopts/*.xml', '.' );
--->在matlab命令窗口输入 mex -setup
此时应出现
mex -setup C++
mex -setup FORTRAN
俩选项 点击C++那个
6.编译
在matlab下,当前文件改到之前下载的libsvm3.21文件下的matlab文件中,就是可以看到有个make.m文件的那个位置,然后在命令行窗口输入make 就会产生.mexmaci64文件四个,即编译成功
7.库的引入
把libsvm3.21文件夹移到/Applications/MATLAB_R2014b.app/toolbox下(右键finder前往文件夹输入路径可以图形界面打开这个路径 然后从下载文件夹拖进去 。。。cp命令用的并不熟练QAQ。。。)
在matlab下 HOME->set path->add with subfolders->然后把libsvm3.21文件夹下的matlab文件夹加进去,然后save,然后close搞定。