matlab下操作SVM种种

引言

今天用SVM支持向量机对特征数据做分类。虽然matlab自带有svmtrainsvmclassify两个函数,但是只能做二分类,而且师兄说不好做交叉验证,用libsvm更方便一点。所以记录一点在ubuntu上安装使用libsvm的过程。

libsvm下载

其实libsvm就是一个matlab工具箱,下载安装这几步和openslide-matlab很相像。
libsvm官网地址https://www.csie.ntu.edu.tw/~cjlin/libsvm/
工具箱可以自己在官网下载,这里也有
下载下来后解压,然后放到matlab安装目录下。

libsvm编译

因为我是用的matlab版本的libsvm,所以需要先打开matlab软件进入libsvm目录下的matlab/目录,运行make.m文件。
这里有点问题:
我make后warning提示什么当前g++版本是4.8.4,不支持mex这个要求的g++4.7这种话,所以我尝试对自己的Ubuntu的gcc和g++进行降级——

### 安装4.7版本gcc和g++
$ sudo apt-get install -y gcc-4.7
$ sudo apt-get install -y g++-4.7
### 重新建立软连接
$ cd /usr/bin
$ sudo rm -r gcc
$ sudo ln -sf gcc-4.7 gcc
$ sudo rm -r g++
$ sudo ln -sf g++-4.7 g++

然后再运行make.m文件就没有warning了。gcc降级参考链接
后续需要使用libsvm只需要addpath('/usr/local/MATLAB/R2015a/libsvm/matlab/'),然后直接调用svmtrainsvmpredict即可。

libsvm使用

libsvm具体使用我现在也还有点问题,所以附上libsvm指导手册一份一起学习 libsvm指导手册入门版
另外,网上有篇博客,用于训练时的参数选择的代码,个人觉得不错!贴一下链接
[关于SVM参数c&g选取的总结帖[matlab-libsvm](https://blog.csdn.net/alextowarson/article/details/4764801)

其他参考链接

LIBSVM在Matlab下的使用
Matlab中对svmtrain迭代次数MaxIter的设置
Matlab-SVM分类器

附录

记录一个僵尸币,LOOM,志向远大,干劲十足!
它开发的其中一个在线学习solidity语言开发以太坊智能合约的网站,很有意思,推荐一下https://cryptozombies.io/
我是自来粉!