libsvm MATLAB 版本安装

来源:互联网 发布:将军岂愿见之乎 编辑:程序博客网 时间:2024/05/20 15:42

libsvm是封装好的,安装到MATLAB中很方便使用

1、下载libsvm 3.21,下载地址http://www.csie.ntu.edu.tw/~cjlin/libsvm/。

2、将工具包放到任何地方均可,将工具包添加到Matlab的搜索路径。Set Path->add with subfolders->save

3、编译。mex -setup    注意:mex后要有空格,然后再是-。会有以下提示

 mex -setup
MEX configured to use 'Microsoft Visual C++ 2010 (C)' for C language compilation.
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. In the near future
you will be required to update your code to utilize the
new API. You can find more information about this at:
http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.
To choose a different language, select one from the following:
 mex -setup C++ 
 mex -setup FORTRAN


(我第一次编译出现了mex 不存在之类的警告,是因为VS安装后没有重启Matlab)

这时你需要用鼠标点击 mex -setup C++.或者输入mex -setup C++,之后会出现

MEX configured to use 'Microsoft Visual C++ 2010' for C++ language compilation.
Warning: The MATLAB C and Fortran API has changed to support MATLAB
variables with more than 2^32-1 elements. In the near future
you will be required to update your code to utilize the
new API. You can find more information about this at:
http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.

4、编译文件 make

Matlab工作目录进入到libsvm-3.21/matlba,输入make

Building with 'Microsoft Visual C++ 2010 (C)'.
MEX completed successfully.
Building with 'Microsoft Visual C++ 2010 (C)'.
MEX completed successfully.
Building with 'Microsoft Visual C++ 2010'.
MEX completed successfully.
Building with 'Microsoft Visual C++ 2010'.
MEX completed successfully.


看到这个结果说明编译成功。

5、检查SVM是否安装成功

在libsvm-3.21可以看到hear_scale 文件,在命令行输入下面几行代码

clear;
[label_vector, instance_matrix] =libsvmread('heart_scale');
model = svmtrain(label_vector, instance_matrix);
[predicted_label, accuracy, prob_estimates] = svmpredict(label_vector, instance_matrix, model, 'b');


运行成功之后的结果

*
optimization finished, #iter = 162
nu = 0.431029
obj = -100.877288, rho = 0.424462
nSV = 132, nBSV = 107
Total nSV = 132
Accuracy = 86.6667% (234/270) (classification)

0 0
原创粉丝点击