了解的地方:
1、gunplot:画图工具,python下使用libsvm必须是用的吧,matlab下面可能不需要安装
2、 mex文件:MEX从字面上是MATLAB和Executable 两个单词的缩写,是一种可在matlab环境中调用的C(或fortran)语言衍生程序,MEX文件的后缀名按32位/64位分别为 .mexw32/.mexw64。mex的编译结果实际上就是一个带输出函数mexFunction 的dll文件。
安装:(我的解压在usr/bin里面)
3、If you are new to SVM and if the data is not large, please go to `tools' directory and use easy.py after installation. It does everything automatic -- from data scaling to parameter selection.
安装
1、进入libsvm目录输入make进行编译(可以完成linux下的libsvm的安装)
2、Libsvm使用
A.使用svm-train训练:在终端中输入./svm-train heart_scale
B.使用svm-predict预测:在终端输入./svm-predict heart_scale heart_scale.model out
heart_scale为test file, heart_scale.model是由svm-train训练出来对模型文件,out为预测输出文件。
与matlab接口
1、进入libsvm/matlab
2、更改Makefile中matlab安装路径
例如MATLABDIR ?= /usr/local/MATLAB/MATLAB_Production_Server/R2015a
3、在libsvm/matlab中输入make进行编译
4、完成,进行测试,在libsvm目录下执行./svm-train heart_scale输出
optimization finished, #iter = 162
nu = 0.431029
obj = -100.877288, rho = 0.424462
nSV = 132, nBSV = 107
Total nSV = 132
预测:
./svm-predict heart_scale heart_scale.model out输出|
Accuracy = 86.6667% (234/270) (classification)
安装成功,在matlab中使用svm工具正常
but:但是并没有在matlab中怎么去运行啊,还是不太对
安装:
1、进入libsvm目录输入make进行编译(可以完成linux下的libsvm的安装,就是说libsvm下面的train,scale,pretict可以用了,但是不是谁的接口,直接用而已)
2、Libsvm使用
A.使用svm-train训练:在终端中输入./svm-train heart_scale
B.使用svm-predict预测:在终端输入./svm-predict heart_scale heart_scale.model out
heart_scale为test file, heart_scale.model是由svm-train训练出来对模型文件,out为预测输出文件。
与matlab接口
1、在matlab中进入libsvm/matlab,命令行输入
make
2、把编译完成后出现的svmtrain.mexa64、svmpredict.mexa64(64位系统)相应的重命名为libsvmtrain.mexa64和libsvmpredict.mexa64(不然会与matlab自带的函数svmtrain,svmpredict混淆)
注意:但是用的时候出错:
version `CXXABI_1.3.8' not found (required by
/usr/bin/libsvm-3.21/matlab/libsvmtrain.mexa64)
3、原因:matlab2015a不支持gcc4.9和g++4.9的mex,只支持4.7的
4、安装gcc4.7,g++4.7(再在matlab中进入libsvm/matlab,执行make编译就没有错误啦)
5、重命名
网友评论