支持向量机(SVM)的一个小例子

Posted Mr.H

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了支持向量机(SVM)的一个小例子相关的知识,希望对你有一定的参考价值。

clc;
clear;
N=10;
%下面的数据是我们实际项目中的10训练样例(样例中有8个属性)
%一个正例九个负例
correctData=[0,0.2,0.8,0,0,0,2,2];
errorData_ReversePharse=[1,0.8,0.2,1,0,0,2,2];
errorData_CountLoss=[0.2,0.4,0.6,0.2,0,0,1,1];
errorData_X=[0.5,0.5,0.5,1,1,0,0,0];
errorData_Lower=[0.2,0,1,0.2,0,0,0,0];
errorData_Local_X=[0.2,0.2,0.8,0.4,0.4,0,0,0];
errorData_Z=[0.53,0.55,0.45,1,0,1,0,0];
errorData_High=[0.8,1,0,0.8,0,0,0,0];
errorData_CountBefore=[0.4,0.2,0.8,0.4,0,0,2,2];
errorData_Local_X1=[0.3,0.3,0.7,0.4,0.2,0,1,0];
 sampleData=[correctData;errorData_ReversePharse;errorData_CountLoss;errorData_X;errorData_Lower;errorData_Local_X;errorData_Z;errorData_High;errorData_CountBefore;errorData_Local_X1];%训练样例

type1=1;%正确的波形的类别,即我们的第一组波形是正确的波形,类别号用 1 表示
type2=-ones(1,N-2);%不正确的波形的类别,即第2~10组波形都是有故障的波形,类别号用-1表示
groups=[type1 ,type2];%训练所需的类别号
j=1;
%由于没有测试数据,因此我将错误的波形数据轮流从训练样例中取出作为测试样例
for i=2:10
   tempData=sampleData;
   tempData(i,:)=[];%该行用于测试
    svmStruct = svmtrain(tempData,groups);
    species(j) = svmclassify(svmStruct,sampleData(i,:));
    j=j+1;
end
species

输出结果如下:-1 -1 -1 -1 -1 -1 -1 1 -1

从结果可以看出:只有第九个被误判,其它的都是正确的。

转载自https://blog.csdn.net/u010412719/article/details/46794051

以上是关于支持向量机(SVM)的一个小例子的主要内容,如果未能解决你的问题,请参考以下文章

支持向量机(SVM)算法的matlab的实现

支持向量机实战 核函数的小试验

使用多个特征的支持向量机 (SVM) 训练

一文学会支持向量机(SVM)

支持向量机优缺点?

0#07 SVM 支持向量机