• 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中

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

    第九行得出评估结果

  • 相关阅读:
    nginx增加lua支持
    使用nginx+lua实现web项目的灰度发布
    amoeba学习
    信号有关的内容
    Linux系统的进程相关内容
    等待类型
    孤立用户故障排除
    恢复数据库
    执行计划之Insert,update,delete
    临时表和表变量
  • 原文地址:https://www.cnblogs.com/york-hust/p/3396886.html
Copyright © 2020-2023  润新知