windows平台上2014a以上的Matlab安装libsvm
2016-11-01 11:02
369 查看
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已经回自动选择一个你电脑上已有的编译器不用你手动在上面点了)
将matlab当前目录设置为:cd ‘C:\Program Files\libsvm-3.16\matlab’
输入命令make
这时你会看到当前目录生成了二进制文件libsvmread.mexw32/libsvmwrite.mexw32/svmpredict.mexw32/svmtrain.mexw32。将当前目录添加到matlab路径中即可。当然了如果你是64位系统后面的32是64,此时要做的就是将该目录添加到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为类别数),每一行的输出是该测试数据属于每个类的概率。
顶
11
踩
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已经回自动选择一个你电脑上已有的编译器不用你手动在上面点了)
将matlab当前目录设置为:cd ‘C:\Program Files\libsvm-3.16\matlab’
输入命令make
这时你会看到当前目录生成了二进制文件libsvmread.mexw32/libsvmwrite.mexw32/svmpredict.mexw32/svmtrain.mexw32。将当前目录添加到matlab路径中即可。当然了如果你是64位系统后面的32是64,此时要做的就是将该目录添加到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为类别数),每一行的输出是该测试数据属于每个类的概率。
顶
11
踩
相关文章推荐
- libsvm在matlab_R2014中的安装
- libsvm-mat在MATLAB平台下的安装
- Mac OS X10.10下Matlab 2014b安装libsvm-3.20
- libsvm3.21在MATLAB2014a的安装应用之一:安装
- [教程] libsvm-mat在MATLAB平台下的安装 (转自MATLABSKY)
- libsvm-mat在MATLAB平台下的安装
- libsvm3.21在MATLAB2014a的安装应用之二:LibSVM基本应用
- Matlab_R2014a_Windows 安装过程及安装包
- Matlab 2014a安装libsvm 3.22
- matlab2014 下的 libsvm 安装
- matlab2014b 安装libsvm-3.21
- Matlab2014a(64-bit)安装libsvm3.12
- 64位windows系统下林智仁libsvm的MATLAB安装
- libsvm 在MATLAB平台下的安装
- Windows平台安装Bugzilla(上)
- Windows平台安装Bugzilla(下)
- Windows平台安装Bugzilla(上)
- PHP安装指南(Windows平台)
- windows平台本地化安装Mongrel
- Windows平台上安装WebSphere 4.0的具体步骤