1. 程式人生 > >支持向量機(SVM)的一個小例子

支持向量機(SVM)的一個小例子

EDA 由於 pda 其它 oca 測試數據 tempdata data before

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)的一個小例子