利用libsvm进行分类
来源:互联网 发布:tensorflow和caffe 编辑:程序博客网 时间:2024/05/21 06:29
这帖子就是初步教教刚接触libsvm(svm)的同学如何利用libsvm进行分类预测,关于 参数寻优 的问题在这里姑且不谈,另有帖子详述。
其实使用libsvm进行分类很简单,只需要有属性矩阵和标签,然后就可以建立分类模型(model),然后利用得到的这个model进行分类预测了。
那神马是属性矩阵?神马又是标签呢?我举一个直白的不能在直白的例子:
说一个班级里面有两个男生(男生1、男生2),两个女生(女生1、女生2),其中
如果我们将男生定义为1,女生定义为-1,并将上面的数据放入矩阵data中,即在label中存入男女生类别标签(1、-1),即这样上面的data矩阵就是一个属性矩阵,行数4代表有4个样本,列数2表示属性有两个,label就是标签(1、-1表示有两个类别:男生、女生)。
现在回归正题,有了上面的属性矩阵data,和标签label就可以利用libsvm建立分类模型了,简要代码如下:有了model我们就可以做分类预测,比如此时该班级又转来一个新学生,其
身高190cm,体重85kg
我们想通过上面这些信息就给出其标签(想知道其是男【1】还是女【-1】)
比如 令 testdata = [190 85]; 由于其标签我们不知道,我们假设其标签为-1(也可以假设为1)
话归正传,即
testdatalabel = -1;
然后利用libsvm来预测这个新来的学生是男生还是女生,代码如下:下面我们整体运行一下上面这段恶 搞[e gao]的背景数据和代码(你别笑,这个是真能运行的,也有结果的):运行结果如下:哎,我们看到,通过预测我们得知这个新来的学生的标签是1(男生),由于原本我们假设其标签为-1,假设错误,所以分类准确率为0%。
好,通过上面的讲解,不知道诸位看官对于利用libsvm进行分类是否有了一定了解【谁要是这么通俗的例子还搞不清楚怎么使用libsvm进行分类,那我真无语啦】,下面使用libsvm工具箱本身带的测试数据heart_scale来实际进行一下测试:运行结果:上面的代码基本我不想多说什么。
只是说一下参数输入的意义:
更多关于libsvm 参数的说明请看
libsvm 参数说明【中英文双语版本】
http://www.matlabsky.com/thread-12380-1-1.html
还有关于建立的分类模型model因为好多朋友反映说,比如想得到支持向量,还有model中的一些参看看不懂等等等等一些列问题,会在后面的
分类模型model解密详解中说明
利用libsvm-mat建立分类模型model参数解密【by faruto】
http://www.matlabsky.com/thread-12649-1-1.html
所以也希望诸位看官尤其是对svm感兴趣的朋友多多关注我。O(∩_∩)O~
如果对于标签设置问题您还没有搞懂可以再看看这个:
【转】Matlab中使用libsvm进行分类预测时的标签问题再次说明
http://www.matlabsky.com/thread-12396-1-1.html
更多关于SVM的东西请看:
关于SVM的那点破事[长期更新整理 by faruto]
http://www.matlabsky.com/thread-10966-1-1.html
其实使用libsvm进行分类很简单,只需要有属性矩阵和标签,然后就可以建立分类模型(model),然后利用得到的这个model进行分类预测了。
那神马是属性矩阵?神马又是标签呢?我举一个直白的不能在直白的例子:
说一个班级里面有两个男生(男生1、男生2),两个女生(女生1、女生2),其中
如果我们将男生定义为1,女生定义为-1,并将上面的数据放入矩阵data中,即在label中存入男女生类别标签(1、-1),即这样上面的data矩阵就是一个属性矩阵,行数4代表有4个样本,列数2表示属性有两个,label就是标签(1、-1表示有两个类别:男生、女生)。
现在回归正题,有了上面的属性矩阵data,和标签label就可以利用libsvm建立分类模型了,简要代码如下:有了model我们就可以做分类预测,比如此时该班级又转来一个新学生,其
身高190cm,体重85kg
我们想通过上面这些信息就给出其标签(想知道其是男【1】还是女【-1】)
比如 令 testdata = [190 85]; 由于其标签我们不知道,我们假设其标签为-1(也可以假设为1)
话归正传,即
testdatalabel = -1;
然后利用libsvm来预测这个新来的学生是男生还是女生,代码如下:下面我们整体运行一下上面这段恶 搞[e gao]的背景数据和代码(你别笑,这个是真能运行的,也有结果的):运行结果如下:哎,我们看到,通过预测我们得知这个新来的学生的标签是1(男生),由于原本我们假设其标签为-1,假设错误,所以分类准确率为0%。
好,通过上面的讲解,不知道诸位看官对于利用libsvm进行分类是否有了一定了解【谁要是这么通俗的例子还搞不清楚怎么使用libsvm进行分类,那我真无语啦】,下面使用libsvm工具箱本身带的测试数据heart_scale来实际进行一下测试:运行结果:上面的代码基本我不想多说什么。
只是说一下参数输入的意义:
更多关于libsvm 参数的说明请看
libsvm 参数说明【中英文双语版本】
http://www.matlabsky.com/thread-12380-1-1.html
还有关于建立的分类模型model因为好多朋友反映说,比如想得到支持向量,还有model中的一些参看看不懂等等等等一些列问题,会在后面的
分类模型model解密详解中说明
利用libsvm-mat建立分类模型model参数解密【by faruto】
http://www.matlabsky.com/thread-12649-1-1.html
所以也希望诸位看官尤其是对svm感兴趣的朋友多多关注我。O(∩_∩)O~
如果对于标签设置问题您还没有搞懂可以再看看这个:
【转】Matlab中使用libsvm进行分类预测时的标签问题再次说明
http://www.matlabsky.com/thread-12396-1-1.html
更多关于SVM的东西请看:
关于SVM的那点破事[长期更新整理 by faruto]
http://www.matlabsky.com/thread-10966-1-1.html
0 0
- 利用libsvm进行分类
- 如何利用libsvm进行分类
- 使用libsvm进行分类
- 如何使用libsvm进行分类
- 如何使用libsvm进行分类
- 如何使用libsvm进行分类
- SVM多分类(利用libsvm工具箱)
- 如何使用libsvm进行分类(一)
- 利用距离进行分类
- 利用keras进行分类
- libsvm分类
- 分类---LibSVM
- 利用libsvm-mat建立分类模型model参数解密
- 关于利用libsvm分类时遇到的问题
- 利用LibSVM做回归(regression)/分类(classification)
- libsvm遥感图像的分类(MATLAB中进行)
- libsvm-3.20初步使用easy.py进行分类
- 使用libsvm进行分类之python和java版本
- 字符串括号匹配
- OLAP/MOLAP/ROLAP/HOLAP/DOLAP
- TCP/IP详解--TCP/IP工作流程
- cocos2dx之CCCallFunc,CCCallFuncN,CCCallFuncND,CCCallFuncO 的比较
- c函数之【字符测试函数】
- 利用libsvm进行分类
- 30分钟学MongoDB系列——分布式架构(ReplicaSets+Sharding混合架构)篇
- 数据库及界面跳转携带变量
- 软件项目管理——图形工具
- 阿里数据分析师实习生笔试题2014年3月29日
- c函数之【数据转换函数】
- HTML Entities,用的不多,但是也是很重要
- 单选框全选
- C#中打开OpenFileDialog会改变默认路径的问题