svm工具箱快速入手简易教程
2013-10-30 15:42
197 查看
首先svm是用来做分类的,是一种有监督的分类器.
什么是有监督的呢?就是说在你给我一个数据集让我做分类之前.我已经有一些经验数据了.即要先进行学习,再进行分类.
这里就有了训练集和测试集.先用训练集来训练分类器.然后把测试数据输入分类器让分类器来进行分类.
具体的svm分类器的原理在此不作讨论.
这里我有下载http://wenku.baidu.com/view/5be71ecc0508763231121257.html来理解svm是怎么操作的.其代码为
第一行是读入matlab数据集
第二行是仅分析2列,对根据这2列的数据进行分类
第三行是生成组号.原有的组名是setosa,versicolor,virginica.这里进行分类是分成2类,是setosa(组号为1)以及非setosa(组号为0)
第四行是生成交叉检验的数据.即决定哪一些行作为测试集,哪一些行作为训练集.其中train中为1的元素表示训练集,test中为1的元素表示测试集
第五行是生成了一个评估分类结果的对象
第六行使用训练集的数据生成svm分类器
第七行使用这个分类器对测试集的数据进行分类.结果放在classes中
第八行评估分类的性能,把评估器,分类结果和测试集的索引作为参数进行评估
第九行得出评估结果
什么是有监督的呢?就是说在你给我一个数据集让我做分类之前.我已经有一些经验数据了.即要先进行学习,再进行分类.
这里就有了训练集和测试集.先用训练集来训练分类器.然后把测试数据输入分类器让分类器来进行分类.
具体的svm分类器的原理在此不作讨论.
这里我有下载http://wenku.baidu.com/view/5be71ecc0508763231121257.html来理解svm是怎么操作的.其代码为
load fisheriris data = [meas(:,1), meas(:,2)]; groups = ismember(species,'setosa'); [train, test] = crossvalind('holdOut',groups); cp = classperf(groups); svmStruct = svmtrain(data(train,:),groups(train),'showplot',true); classes = svmclassify(svmStruct,data(test,:),'showplot',true); classperf(cp,classes,test); cp.CorrectRate
第一行是读入matlab数据集
第二行是仅分析2列,对根据这2列的数据进行分类
第三行是生成组号.原有的组名是setosa,versicolor,virginica.这里进行分类是分成2类,是setosa(组号为1)以及非setosa(组号为0)
第四行是生成交叉检验的数据.即决定哪一些行作为测试集,哪一些行作为训练集.其中train中为1的元素表示训练集,test中为1的元素表示测试集
第五行是生成了一个评估分类结果的对象
第六行使用训练集的数据生成svm分类器
第七行使用这个分类器对测试集的数据进行分类.结果放在classes中
第八行评估分类的性能,把评估器,分类结果和测试集的索引作为参数进行评估
第九行得出评估结果
相关文章推荐
- svm工具箱快速入手简易教程
- SVM工具箱快速入手简易教程
- c++快速简易入门教程_001从结构体到类
- springMVC教程-快速入手-深入分析
- c++快速简易入门教程_002构造函数
- springMVC教程-快速入手-深入分析
- c++快速简易入门教程_003析构函数
- springMVC教程-快速入手-深入分析
- c++快速简易入门教程_004函数的重载
- Ocelot简易教程(二)之快速开始
- c++快速简易入门教程_005this指针
- c++快速简易入门教程_006继承
- springMVC教程-快速入手-深入分析
- Ocelot简易教程(二)之快速开始2
- c++快速简易入门教程_007虚函数与多态性、纯虚函数
- 【PHP基础】最快速简易apache+mysql本地PHP环境搭建教程
- c++快速简易入门教程_008函数的覆盖和隐藏
- springMVC教程-快速入手-深入分析
- c++快速简易入门教程_009引用
- 【PHP基础】最快速简易apache+mysql本地PHP环境搭建教程