Hubert Wang

I am
Hubert Wang

Wechat Official Account
Find fun things here!

Mac上Matlab库libsvm安装指南

一个星期前装了Kinect的环境,当时用的百度搜索教程,往上各种不靠谱的教程简直搞死人。其实以前很少遇到这种情况,主要因为安装配置的东西都比较大众。但是一遇到小众的Mac、中国人很少用的,这个时候搜百度=找虐。
写这个安装指南有三个点:一是不让兄弟们再被百度上的安装方法坑了,俺已经被坑疯了;二是能让不会爬梯子的兄弟姐妹们少蛋疼一点,看看靠谱的安装指南(Mac的真的太稀缺了TAT);三是留作备份,别下次再装自己忘了才是蛋疼蛋疼又蛋疼。

环境和适用

机器:MacBook Pro (Retina, 13-inch, Mid 2014)
系统:OS X Yosemite 10.10.3
Matlab版本:Matlab-R2014b

SVM书籍

最近在看SVM的时候,觉得有三本书不错:
『数据挖掘:概念与方法』
『MATLAB神经网络30个案例分析』
『理解SVM的三层境界』
推荐第一本因为里面的SVM只有5页,然则概念讲的很清楚,而且5页嘛,快速入门的感觉也是爽的。第二本书名是神经网络,但是神奇地用了4章来讲SVM(也是醉了),关键是有代码(和!注!释!),能运行一下看看效果。第三本太经典不多说了。
(画风诡异地变成了SVM书籍推荐,不是说好的Mac上的libsvm安装指南吗)

Mac上Matlab安装libsvm

(最近发现装个新软件简直是折寿,想快点安装好就费脑子想吧,别怕被累死,不想动脑子的网上搜吧,多半被坑死)
Matlab上跑svm是如果用到libsvm库需要先安装libsvm库。Mac纠结的地方就在于:Windows直接把库包含进去就行了,WIN下的Matlab会混合模式编译库里面的.c文件形成Matlab能用的.m文件,但是Mac下的Matlab没自动的混合编译——因此需要装Matlab的补丁。(说来还是Mathwork公司的问题 - -)
但是俺们都知道Matlab一堆数学家搞得老精了咋会出这个问题呢?再深挖一下:因为Mac没自带command line tools,这样一来就算Matlab调用混合编译Mac也会给你报个错。(Apple Inc你够了 - - )
言归正传,到底咋安装呢?Mathwork官方论坛上说的妥妥的,翻译过来+自己经历:

  1. 准备工作:首先你得有一台Mac(Windows滚粗!WIN安装这么方便自己滚去百度!),其次你得安装Matlab,最后你得下俩东西:

Matlab optsPatch10.8.patch
(OS操作系统版本10.8及以上的都用这个,10.7及以前版本的在上面论坛链接里找以前版本的补丁)
libsvm库

  1. 安装command line tools:这一步百度到的教程让直接崩溃了——下载Xcode,再在Xcode里面安装命令行工具。网上教程的原话是这样的:『我装Xcode用了1个小时,在Xcode里装command line tools用了1个小时』。(为啥用这么久呢?因为蠢。哪个缺心眼的发明的方法。)那咋装呢?

打开终端,输入命令:xcode-select --install
然后点击安装就OK了。

  1. Matlab打补丁:给Matlab打上第一步中下的那货:optsPatch10.8.patch。在Matlab命令框中输入:

cd(matlabroot)
!unzip -o ~/Downloads/optsPatch10.8.patch
第二行解压缩,路径要是不对,那就:对补丁右键,显示简介,通用里面有个位置,复制过去代替掉代码里的路径就行。

  1. mex -setup:告诉Matlab可以用混合模式编译了。在Matlab命令框中输入:

mex -setup

  1. make:第二步安装的命令行工具就是为了make的(咦,哪里听起来不对?嘿嘿),打开libsvm库里面的MATLAB文件夹,找到make.m文件,在MATLAB里面打开,运行,成功之后会发现在原文件夹多了四个.m文件。
  2. 引入库。不知道为啥教程们都没这一步!那咋可能运行正常呢?!

Matlab中HOME标签页点Set Path,出来个框,左侧点Add With Subfolders,把libsvm中MATLAB文件夹加进去,点Save,Close。大功告成。

安装遇到问题的同志直接在下面评论吧,我会即时回复。

【本文作者:Mr.Y王洪阳, http://mr-why.com,转载请注明作者及本文链接

1380
TOC
Comments
Write a Comment