MATLAB中使用libsvm
来源:互联网 发布:ewsa软件字典手机号码 编辑:程序博客网 时间:2024/05/16 17:07
最近正在学习机器学习算法SVM,然后需要用到libsvm库,于是整理了下自己配置的大致过程。自己的平台环境:
win10
MATLAB 2017b
libsvm 3.22
1 . 下载libsvm。
并将其拷贝到MATLAB安装目录下的toolbox目录下。
例如我的是:C:\Program Files\MATLAB\R2017b\toolbox\
下载地址:http://www.csie.ntu.edu.tw/~cjlin/libsvm/#download
2 . 下载 MinGW-w64 C/C++ 编译器。
自己使用的是matlab2017工具平台,然而libsvm是使用C++开发的,这样我们就需要先使用C++的编译工具,将libsvm编译成matlab能直接使用的文件,于是就按照matlab官网的提示安装了MinGW-w64 C/C++ compiler 这个编译器。因为从matlab官网安装的一直会下不下来,自己就独立安装了 tdm64-gcc-4.9.2.exe
安装好后,最好配置一下环境变量,方便matlab查找已安装的编译器。
如:安装目录为:C:\TDM-GCC-64
添加系统环境变量:变量名 MW_MINGW64_LOC
目录为安装目录 C:\TDM-GCC-64
然后在matlab中运行:setenv('MW_MINGW64_LOC','C:\TDM-GCC-64')
这样编译器的环境就配好了。
3 . 然后在matlab命令行输入:mex -setup
会提示 MEX配置使用 MinGW-w64 C/C++ compiler 编译器,并伴有一个警告,但不影响。
4 . 接着输入命令:make
会报一个错误,如下:
提示用户权限不够,因此,我们可以先将libsvm-3.22文件夹,在别的盘(如D盘)编译好,再复制到C盘下MATLAB的安装目录C:\Program Files\MATLAB\R2017b\toolbox\
之中。
这里因为开始不知道可以在别的盘直接用 MinGW-w64 C/C++编译好,于是就下了visual studio 2017,然后用Microsoft Visual C++ 2017 编译的,如上。其实可以直接用MinGW-w64 C/C++编译是一样的。编译好你会看到目录下多了4个.mexw64格式的文件:
注意:这里使用用 visual studio 编译时,需要查看官网MATLAB能够使用对应版本的visual studio,或者其他工具.
如:matlab 2017 b —— visual studio 2017, 而matlab 2017 a 却不能使用 visual studio 2017 编译。因此,建议大家直接下载 tdm64-gcc-4.9.2.exe 单独安装文件,并在别的盘先编译好,然后再拷贝到matlab的安装目录之中。
5 .测试libsvm库
在libsvm-3.22目录下有一个hear_scale 数据文件,我们可以通过使用libsvmread()函数将其转化成matlab格式,然后再进行相应的操作。
>>[heart_scale_label,heart_scale_inst]=libsvmread('heart_scale');>> model = svmtrain(heart_scale_label,heart_scale_inst, '-c 1 -g 0.07')
*
optimization finished, #iter = 134
nu = 0.433785
obj = -101.855060, rho = 0.426412
nSV = 130, nBSV = 107
Total nSV = 130
>> [predict_label, accuracy, dec_values] = svmpredict(heart_scale_label, heart_scale_inst, model); % test the trainingdat
Accuracy = 86.6667% (234/270) (classification)
看到这样的结果,就说明你可以在matlab中使用SVM了。
参考博客:
http://apinetree.blog.51cto.com/714152/1560254
http://blog.csdn.net/buaasuozi/article/details/50781615
http://blog.csdn.net/desire121/article/details/60466845#insertcode
- matlab中使用libsvm
- matlab中使用libsvm
- MATLAB中使用libsvm
- Matlab中使用LIBSVM
- 在matlab中使用libsvm
- 在Matlab中使用LibSVM
- libsvm在matlab中使用
- MATLAB中libsvm的使用
- matlaB中 libsvm的 使用
- 在matlab中使用libsvm
- LIBSVM在matlab中使用小结
- 在MATLAB中使用libSVM的方法
- matlab中调用Libsvm
- LibSVM MATLAB 使用
- Matlab安装使用libsvm
- Matlab安装使用libsvm
- Matlab安装使用libsvm
- Matlab安装使用libsvm
- InputStream和OutputStream
- 调试Web应用程序
- 跨域通信的几种方式(jsonp,hash,postMessage,websocket,cors)
- 算法分析与设计课程作业第三周#1
- 开源纯C#工控网关+组态软件
- MATLAB中使用libsvm
- Dungeon Master bfs
- 红黑树插入
- 关于matlab中求定积分int和quad命令的使用
- 上传和引用以编译的module
- 国庆做题报告(一)
- OGG-01756 创建抽取进程有警告 文档 ID 1330577.1
- 职业规划
- opencv学习笔记第五章 使用形态学滤波对图像进行开闭运算