版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
这帖子就是初步教教刚接触libsvm(svm)的同学如何利用libsvm进行分类预测,关于参数寻优的问题在这里姑且不谈,另有帖子详述。其实使用libsvm进行分类很简单,只需要有属性矩阵和标签,然后就可以建立分类模型(model),然后利用得到的这个model进行分类预测了。那神马是属性矩阵?神马又是标签呢?我举一个直白的不能在直白的例子:说一个班级里面有两个男生(男生1、男生2),两个女生(女生1、女生2),其中男生1身高:176cm体重:70kg;男生2身高:180cm体重:80kg;女生1身高:161cm体重:45kg;女生2身高:163cm体重:47kg;如果我们将男生定义为1,女生定义为-1,并将上面的数据放入矩阵data中,即1.data=[17670;2.18080;3.16145;4.16347];复制代码在label中存入男女生类别标签(1、-1),即label=复制代码这样上面的data矩阵就是一个属性矩阵,行数4代表有4个样本,列数2表示属性有两个,label就是标签(1、-1表示有两个类别:男生、女生)。Remark:这里有一点废话一些(因为我看到不止一个朋友问我这个相关的问题):上面我们将男生定义为1女生定义为-1那定义成别的有影响吗?这个肯定没有影响啊!(用脚趾头都能想出来,我不知道为什么也会有人问),这里面的标签定义就是区分开男生和女生,怎么定义都可以的,只要定义成数值型的就可以。比如我可将将男生定义为2,女生定义为5;后面的label相应为label=[2;2;5;5];比如我可将将男生定义为18,女生定义为22;后面的label相应为label=[18;18;22;22];为什么我说这个用脚趾头都能想怎么定义都可以呢?学过数学的应该都会明白,将男生定义为1,女生定义为-1和将男生定义为2,女生定义为5本质是一样的,应为可以找到一个映射将(2,5)转换成(1,-1),so所以本质都是一样的,后面的18、22本质也是一
样的。这里要多说一些,如果你原本的数据集合的标签不是数值型的(比如a、b、c)那么你完全可以通过某种转换映射将不是数值型的标签转换成数值型的。现在回归正题,有了上面的属性矩阵data,和标签labeI就可以利用libsvm建立分类模型了,简要代码如下:model=svmtrain(label,data);复制代码有了model我们就可以做分类预测,比如此时该班级又转来一个新学生,其身高190cm,体重85kg我们想通过上面这些信息就给出其标签(想知道其是男【1】还是女【-1】)比如令testdata=[19085];由于其标签我们不知道,我们假设其标签为-1(也可以假设为1)Remark:这里又有一点废话一些(因为我看到不止一个朋友问我这个相关的问题):如果测试集合的标签没有怎么办?测试集合的标签就应该没有,否则测试集合的标签都有了,还预测你妹啊!?没有是正确的,就像上面一样,新来的学生其标签咱不应知道,就想通过其属性矩阵来预测其标签,这才是预测分类的真正目的。之所以平时做测试时,测试集合的标签一般都有,那是因为一般人们想要看看自己的分类器的效果如何,效果的评价指标之一就是分类预测的准确率,这就需要有测试集的本来的真实的标签来进行分类预测准确率的计算。话归正传,即testdatalabel=-1;然后利用libsvm来预测这个新来的学生是男生还是女生,代码如下:[predictlabel,accuracy]=svmpredict(testdatalabel,testdata,model)复制代码下面我们整体运行一下上面这段恶搞[egao]的背景数据和代码(你别笑,这个是真能运行的,也有结果的):data=[17670;18080;16145;16347];
label=[1;1;-1;-1];6.model=svmtrain(label,data);8.testdata=[19085];testdatalabel=-1;11.[predictlabel,accuracy]=svmpredict(testdatalabel,testdata,model);predictlabel复制代码运行结果如下:Accuracy=0%(0/1)(classification)predictlabel=1复制代码哎,我们看到,通过预测我们得知这个新来的学生的标签是1(男生),由于原本我们假设其标签为-1,假设错误,所以分类准确率为0%。好,通过上面的讲解,不知道诸位看官对于利用libsvm进行分类是否有了一定了解【谁要是这么通俗的例子还搞不清楚怎么使用libsvm进行分类,那我真无语啦】,下面使用libsvm工具箱本身带的测试数据heart_scale来实际进行一下测试:%%HowToClassifyUsingLibsvm%byfaruto@faruto'sStudio~%/faruto%Email:faruto@163.com%%http://www.mfun.la%%lastmodifiedby2010.12.27%%alittecleanworktic;closeall;44.[ptest,acctest]=svmpredict(testlabel,testdata,model);44.[ptest,acctest]=svmpredict(testlabel,testdata,model);12.clear;12.clear;clc;formatcompact;%%16.%首先载入数据loadheart_scale;data=heart_scale_inst;label=heart_scale_label;21.%选取前200个数据作为训练集合,后70个数据作为测试集合ind=200;traindata=data(1:ind,:);trainlabel=label(1:ind,:);testdata=data(ind+1:end,:);testlabel=label(ind+1:end,:);28.%利用训练集合建立分类模型model=svmtrain(trainlabel,traindata,'-s0-t2-c1.2-g2.8');31.%分类模型model解密modelParameters=model.ParametersLabel=model.Labelnr_class=model.nr_classtotalSV=model.totalSVnSV=model.nSV39.%利用建立的模型看其在训练集合上的分类效果[ptrain,acctrain]=svmpredict(trainlabel,traindata,model);42.%预测测试集合标签
45.%%toe;复制代码运行结果:1.model2.Parameters:[5x1double]3.nr_class:24.totalSV:1975.rho:0.05836.Label:[2x1double]7.ProbA:[]8.ProbB:[]9.nSV:[2x1double]10.sv_coef:[197x1double]11.SVs:[197x13double]ParametersTOC\o"1-5"\h\z02.00003.00002.80000Label=1-1nr_class=2totalSV=197nSV=8927.27.108Accuracy=99.5%(199/200)(classification)Accuracy=68.5714%(48/70)(classification)Elapsedtimeis0.040873seconds.>>复制代码上面的代码基本我不想多说什么。只是说一下参数输入的意义:-ssvm类型:SVM设置类型(默认0)0--C-SVC--v-SVC-一类SVM--e-SVR--v-SVR-t核函数类型:核函数设置类型(默认2)0一线性:u'v一多项式:(r*u'v+coefO)人degree一RBF函数:exp(-r|u-v|人2)-sigmoid:tanh(r*u'v+coef0)-gr(gama):核函数中的gamma函数设置(针对多项式/rbf/sigmoid核函数)-ccost:设置C-SVC,e-SVR和v-SVR的参数(损失函数)(默认1)更多关于libsvm参数的说明请看libsvm参数说明【中英文双语版本】/forum-v...-fromuid-18677.html还有关于建立的分类模型modelmodel=2.Parameters:[5x1double]4.5.nrclass:25.nrclass:26・7.totalSV:1978.9.rho:0.058310.11.Label:[2x1double]12.13.ProbA:[]14.15.ProbB:[]16.17.nSV:[2x1double]18.19.sv_coef:[197x1double]20.21.复制代码SVs:[197x13double]因为好多朋友反映说,比如想得到支持向量,还有model中的一些参看看不懂等等等等些列问题,会在后面的分类模型model解密详解中说明利用libsvm-mat建立分类模型model参数解密【byfaruto】/thread-126
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 师德先进学校事迹材料7篇
- 北京市海淀区2024−2025学年高二上学期10月阶段考试数学试题含答案
- 《教育心理学》读后感6篇
- 湖北省鄂州市(2024年-2025年小学五年级语文)统编版摸底考试(下学期)试卷及答案
- 2024年导线剥皮机项目资金需求报告代可行性研究报告
- 2023年辅助功能检测系统资金筹措计划书
- 市政道路路基土方、石方施工规范编制说明
- 七年级历史上册教案集
- 文化产业示范园区及示范基地创建管理工作办法
- 贵州省贵阳市部分校联盟2024-2025学年八年级上学期期中联考物理试题(无答案)
- 人教版四年级数学上册期中试卷(广东东莞真卷)
- 五上《美丽文字民族瑰宝》
- 大一微积分练习题
- 浅谈落实新课程理念下小学语文作业设计与实践
- 七人学生小品《如此课堂》剧本台词手稿
- 沂蒙红色文化与沂蒙精神智慧树知到答案章节测试2023年临沂大学
- 初中数学 二倍角问题专项教案
- 市政工程项目部管理制度及岗位职责
- 高效能人士的执行4原则
- 《特殊儿童早期干预》教学大纲
- 医疗机构消毒技术规范(2023年版)
评论
0/150
提交评论