svm工具箱快速入手简易教程

    首先svm是用来做分类的,是一种有监督的分类器.

    什么是有监督的呢?就是说在你给我一个数据集让我做分类之前.我已经有一些经验数据了.即要先进行学习,再进行分类.

    这里就有了训练集和测试集.先用训练集来训练分类器.然后把测试数据输入分类器让分类器来进行分类.

    具体的svm分类器的原理在此不作讨论.

    这里我有下载http://wenku.baidu.com/view/5be71ecc0508763231121257.html来理解svm是怎么操作的.其代码为

1 load fisheriris
2 data = [meas(:,1), meas(:,2)];
3 groups = ismember(species,'setosa');
4 [train, test] = crossvalind('holdOut',groups);
5 cp = classperf(groups);
6 svmStruct = svmtrain(data(train,:),groups(train),'showplot',true);
7 classes = svmclassify(svmStruct,data(test,:),'showplot',true);
8 classperf(cp,classes,test);
9 cp.CorrectRate

第一行是读入matlab数据集

第二行是仅分析2列,对根据这2列的数据进行分类

第三行是生成组号.原有的组名是setosa,versicolor,virginica.这里进行分类是分成2类,是setosa(组号为1)以及非setosa(组号为0)

第四行是生成交叉检验的数据.即决定哪一些行作为测试集,哪一些行作为训练集.其中train中为1的元素表示训练集,test中为1的元素表示测试集

第五行是生成了一个评估分类结果的对象

第六行使用训练集的数据生成svm分类器

第七行使用这个分类器对测试集的数据进行分类.结果放在classes中

第八行评估分类的性能,把评估器,分类结果和测试集的索引作为参数进行评估

第九行得出评估结果

 

 

 

posted on 2013-10-30 15:42  york_hust  阅读(3737)  评论(1编辑  收藏  举报