欢迎来到天天文库
浏览记录
ID:16430784
大小:52.34 KB
页数:10页
时间:2018-08-09
《利用libsvm-mat建立分类模型model参数解密》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、=======================================================本帖子主要就是讲解利用libsvm-mat工具箱建立分类(回归模型)后,得到的模型model里面参数的意义都是神马?以及如果通过model得到相应模型的表达式,这里主要以分类问题为例子。测试数据使用的是libsvm-mat自带的heart_scale.mat数据(270*13的一个属性据矩阵,共有270个样本,每个样本有13个属性),方便大家自己测试学习。首先上一个简短的测试代码:1.%%ModelDecrypti
2、on2.%byfaruto@faruto'sStudio~3.%http://blog.sina.com.cn/faruto4.%Email:faruto@163.com5.%http://www.matlabsky.com6.%http://www.mfun.la7.%http://video.ourmatlab.com8.%lastmodifiedby2011.01.069.%%alittecleanwork10.tic;11.closeall;12.clear;13.clc;14.formatcompact;15.%
3、% 16.%首先载入数据17.loadheart_scale;18.data=heart_scale_inst;19.label=heart_scale_label;20.%建立分类模型21.model=svmtrain(label,data,'-s0-t2-c1.2-g2.8');22.model23.%利用建立的模型看其在训练集合上的分类效果1.[PredictLabel,accuracy]=svmpredict(label,data,model);2.accuracy3.%%4.toc;复制代码运行结果:1.mode
4、l= 2. Parameters:[5x1double]3. nr_class:24. totalSV:2595. rho:0.05146. Label:[2x1double]7. ProbA:[]8. ProbB:[]9. nSV:[2x1double]10. sv_coef:[259x1double]11. SVs:[259x13double]12.Accuracy=99.6296%(269/270)(classificatio
5、n)13.accuracy=14. 99.629615. 0.014816. 0.985117.Elapsedtimeis0.040155seconds.复制代码这里面为了简单起见没有将测试数据进行训练集和测试集的划分,这里仅仅是为了简单明了而已,分类结果估计可以不要管,参数优化也不要管,另有帖子讲解。下面我们就看看model这个结构体里面的各种参数的意义都是神马,model如下:model= Parameters:[5x1double] nr_class:2 totalSV:259 r
6、ho:0.0514 Label:[2x1double] ProbA:[] ProbB:[] nSV:[2x1double] sv_coef:[259x1double] SVs:[259x13double]model.Parameters我们先来看一下model.Parameters里面承装的都是什么:1.>>model.Parameters2.ans=3. 04. 2.00005. 3.00006. 2.80007. 0复制代码重要知
7、识点:model.Parameters参数意义从上到下依次为:-ssvm类型:SVM设置类型(默认0)-t核函数类型:核函数设置类型(默认2)-ddegree:核函数中的degree设置(针对多项式核函数)(默认3)-gr(gama):核函数中的gamma函数设置(针对多项式/rbf/sigmoid核函数)(默认类别数目的倒数)-rcoef0:核函数中的coef0设置(针对多项式/sigmoid核函数)((默认0)即在本例中通过model.Parameters我们可以得知–s参数为0;-t参数为2;-d参数为3;-g参数为
8、2.8(这也是我们自己的输入);-r参数为0。关于libsvm参数的一点小说明:Libsvm中参数设置可以按照SVM的类型和核函数所支持的参数进行任意组合,如果设置的参数在函数或SVM类型中没有也不会产生影响,程序不会接受该参数;如果应有的参数设置不正确,参数将采用默认值。model.Label
此文档下载收益归作者所有