本人由于在科研中经常用到支持向量机算法,于是准备在我的mbp上装一个svm软件包,工作环境为MacOSX 10.10,Xcode 7.1,Matlab 2014b。具体过程如下:
先上一段简介:LIBSVM是台湾大学林智仁(Lin Chih-Jen)教授等开发设计的一个简单、易于使用和快速有效的SVM模式识别与回归的软件包。
- 安装本软件包前先保证安装好Xcode,可以直接在App Store中安装
首先下载libsvm-3.20地址LIBSVM,将解压后的文件复制到matlab的工作文件下(或你自己找得到文件夹下)。
打开应用程序,右键点击Matlab 2014b,点击显示包内容,进入bin文件夹,找到mexopts.sh,先备份一下此文件,然后打开。
- 接下来打开应用程序,右键点击Xcode,点显示包内容,打开Contents》Developer》Platforms》MacOSXplatform》Developer》SDKs,记住MacOSX10.x.sdk的名字。
- 将刚才mexopts.sh文件中的10.8全部替换为10.x,例如图中我的显示为10.11,就将mexopts.sh文件中的10.8全部替换为10.11。保存后退出。
- 打开Matlab 2014b,输入
cd(matlabroot)
cd bin
mex -setup
在这个界面下输入1,然后回车,输入y,回车。
- 在Matlab中进入libsvm-3.20目录(刚才解压后复制到的目录,本文是在Matlab 的工作目录),进入matlab目录。输入
make
,回车显示以下界面
- 接下来验证是否安装成功,将libsvm-3.20文件夹中的heart-scale文件复制进入matlab文件夹,输入以下代码:
[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);
显示Accuracy = 86.6667% (234/270) (classification)
则安装成功。