在windows, linux平台上安装 libsvm (matlab版本)

1) 从LIBSVM的官网http://www.csie.ntu.edu.tw/~cjlin/libsvm/上下载最新版本的LIBSVM,当前版本为libsvm-3.16.zip

2) 解压压缩包到电脑上一位置,如:C:\Program Files\libsvm-3.16

3) 假设你使用的是64位的操作系统和matlab。此时将libsvm-3.16文件夹下的windows目录添加到matlab目录中。即在matlab目录中添加:C:\ProgramFiles\libsvm-3.16\windows。因为windows下包含了matlab可执行的二进制文件libsvmread.mexw64/libsvmwrite.mexw64/svmpredict.mexw64/svmtrain.mexw64

4) 假设你使用的是32位操作系统和matlab,则需要自己编译相应的二进制文件。

在matlab命令窗口输入

>>mex –setup

这时matlab会提示你选择编译mex文件的c/c++编译器。

选择一个你电脑上安装的c/c++编译器,例如Microsoft Visual C++ 2010

将matlab当前目录设置为:cd ‘C:\Program Files\libsvm-3.16\matlab’

输入命令make

这时你会看到当前目录生成了二进制文件libsvmread.mexw32/libsvmwrite.mexw32/svmpredict.mexw32/svmtrain.mexw32。将当前目录添加到matlab路径中即可。

5) 例子一个测试

注意到libsvm-3.16下有一个数据文件,名称为heart_scale。这是一个libsvm格式的数据文件。可使用libsvmread函数将其转化为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); % test the trainingdata

6) svmtrain函数相关参数说明

svmtrain函数返回的model可以用来对测试数据集进行预测。这是一个结构体变量,主要包括了以下几个域。[Parameters, nr_class, totalSV, rho, Label, ProbA, ProbB, nSV,sv_coef, SVs]。英文说明如下:

       -Parameters: parameters

       -nr_class: number of classes; = 2 for regression/one-class svm

       -totalSV: total #SV

       -rho: -b of the decision function(s) wx+b

       -Label: label of each class; empty for regression/one-class SVM

       -ProbA: pairwise probability information; empty if -b 0 or in one-classSVM

       -ProbB: pairwise probability information; empty if -b 0 or in one-classSVM

       -nSV: number of SVs for each class; empty for regression/one-class SVM

       -sv_coef: coefficients for SVs in decision functions

       -SVs: support vectors

如果没有指定’-b 1’选项则ProbA和ProbB为空矩阵。此外,当指定’-v’选项时,返回的model是一个数值,是cross-validation的准确率。

其中model.paramter是一个5X1的向量,参数意义为:

model.Parameters参数意义从上到下依次为:

-s svm类型:SVM设置类型(默认0)

-t 核函数类型:核函数设置类型(默认2)

-d degree:核函数中的degree设置(针对多项式核函数)(默认3)

-g r(gama):核函数中的gamma函数设置(针对多项式/rbf/sigmoid核函数) (默认类别数目的倒数)

-r coef0:核函数中的coef0设置(针对多项式/sigmoid核函数)((默认0)

7)svmpredict函数参数说明

svmpredict函数返回三个值,predict_label,是训练集预测得到的label向量。第二个输出是accuracy,是一个3维的向量,从上到下分别是:分类准率(分类问题中用到的参数指标);平均平方误差(MSE (mean squared error)) (回归问题中用到的参数指标);平方相关系数(r2 (squared correlation coefficient))(回归问题中用到的参数指标)。第三个输出是个矩阵,包含着决策值或者是概率估计(当’-b 1’被指定时)。当训练数据有k类时,决策值矩阵是一个n行k*(k-1)/2列的矩阵(n为测试数据集个数,k为类别数),而每一行的输出是k*(k-1)/2个二分类器的结果。当’-b 1’被指定时,概率估计矩阵是一个n行k类的矩阵(n为测试数据集个数,k为类别数),每一行的输出是该测试数据属于每个类的概率。


centos环境下的libsvm已经有matlab版本了,可以选择在官网上下载http://www.csie.ntu.edu.tw/~cjlin/libsvm/,关于matlab在centos下的安装,我在前面的博文已经提到,这里不再赘述。

1、下载libsvm,就直接下载完整版本就好,完整版本里面会分多个语言,在下载的解压文件里面你可以看到有个matlab的文件夹,我们需要的东西就在里面
2、将libsvm解压到一个文件夹下,我是/usr/local/Matlab/r2011a,然后修改matlab工作路径到解压后的文件夹中的matlab文件夹下,我的是/usr/local/Matlab/r2011a/Libsvm-3.1.2/matlab
3、在matlab文件夹下面有个makefile文件,将里面的MATLABDIR?=/usr/local/Mathlab/r2011a,也就是将这个变量值改为你安装的matlab的路径
4、当一切完成后在matlab的命令窗口输入: mex -setup
5、在给出的编译选项中选择1,如果出现编译错误提示g++没有安装的话就回到命令窗口下安装g++
6、centos下安装g++的命令式yum install gcc-c++
7、安装完g++后重新输入mex -setup
8、选择 1之后再次输入 ‘!make’(引号不要输入)
9、编译完成,此时还需要将libsvm-mat下载并加载才能使用里面的工具,  打开matlab,file->Set Path->Add with Subfolders,添加到matlab-mat的解压目录下,save并close就可以使用了。


使用方法: 1.首先下载MATLAB 2017b linux安装包,网上资源比较多,就不列举了。 下载完成后,在终端执行以下命令,挂载MATLAB安装镜像文件并安装。 sudo mkdir ./matlab sudo mount -t auto -o loop [YOUR_PATH]/Linux/R2017b_glnxa64.iso matlab/ cd ./matlab sudo ./install 2.安装过程中会让选择安装方法,这里最好先断开网络,然后选择“使用文件安装密钥(不需要Internet连接)”。文件安装密钥在Crack目录下的Readme.txt里,是一个串20位的数字。相应地接下来还要选择Crack目录下.lic文件作为license。在安装过程中要将“创建指向以下位置中的MATLAB脚本的符号链接”选项打勾。下面就等待安装完成就行了。 3.安装完成后,选择“不使用Internet手动激活”。需要输入许可证文件.lic的完整路径,这里选择Crack目录下的.lic就可以了。 4.将Crack/Linux文件夹下的libmwservices.so 复制到到 /usr/local/MATLAB/R2017b/bin/glnxa64。(最好在终端中执行sudo cp [libmwservices.so的路径]/libmwservices.so /usr/local/MATLAB/R2017b/bin/glnxa64,直接复制可能会有权限问题)这时应该就可以通过sudo matlab打开MATLAB软件了。下两步是可选的。 5.(可选)安装MATLAB支持包'sudo apt-get install matlab-support'。中间可选使用这款软件的用户以及重命名GCC库,原文教程中说可以忽略。我把当前用户作为了使用这款产品的用户。 6.(建议选择)为了避免每次都用root权限打开matlab,通过sudo chown [your ubuntu username] -R ~/.matlab改变权限。最终直接在终端输入matlab就可以打开MATLAB了,至此完成了MATLAB在Ubuntu下的安装和破解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值