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中

第八行評估分類的性能,把評估器,分類結果和測試集的索引作為參數進行評估

第九行得出評估結果

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM