LIBSVM提供了多语言(java、python和matlab)的SVM实现,可以便捷地处理分类或回归问题,本文记录基于matlab的LIBSVM学习笔记。
二、环境搭建:LIBSVM下载链接:https://github.com/cjlin1/libsvm
Windows系统下安装:预编译的mex文件存放在’…/windows’,需要将其复制到matlab文件夹下
matlab软件中编译:首先将libsvm所在的matlab文件夹及其子文件夹添加到matlab搜索路径中;然后在命令行中输入make编译得到’libsvmread.mex’, ‘libsvmwrite.mex’, ‘svmtrain.mex’, and
'svmpredict.mex’文件。
数据格式:[label] [index1]:[value1] [index2]:[value2] …
示例:
数据读取方式
[label_train, inst_train] = libsvmread('filePath');
其中:
label_train:训练标签,m*1矩阵(m表示样本数),类型必须为double;inst_train:训练实例,m*n矩阵(n表示样本的特征数),类型必须为double; 2.SVM模型训练
model = svmtrain(label_train, inst_train [, 'libsvm_options']);
其中:
libsvm_options:模型参数,string类型 libsvm_options -s 设置svm类型:
0 – C-SVC
1 – v-SVC
2 – one-class-SVM
3 –ε-SVR
4 – n - SVR
0 –线性核:u’v
1 –多项式核:(gu’v+coef0)degree
2 – RBF核:exp(-γ||u-v||2)
3 – sigmoid核:tanh(γ*u’*v+coef0)
示例:
model = svmtrain(label_train, inst_train, '-s 4 -t 2');3.预测
[predicted_label, accuracy, decision_values/prob_estimates] = svmpredict(label_test, inst_test, model [, 'libsvm_options']);
示例:
[label_predicted, accuracy, dec_values] = svmpredict(label_test, inst_test, model)参考:
[1] 勉旃,LIBSVM使用方法。
[2] AlanDreamer,matlab安装LIBSVM。



