栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

LIBSVM入门

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

LIBSVM入门

一、引言:

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’文件。

三、使用: 1.数据说明及其读取方法

数据格式:[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

-t 设置核函数类型,默认值为2

0 –线性核:u’v
1 –多项式核:(g
u’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。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/777725.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号