1. 程式人生 > >資料探勘-SVM(支援向量機)的matlab基礎DEMO詳細註解

資料探勘-SVM(支援向量機)的matlab基礎DEMO詳細註解

load fisheriris
%載入matlab自帶的資料[有關資料的資訊可以自己到UCI查詢,這是UCI的經典資料之一]
%其中meas是150*4的矩陣代表著有150個樣本每個樣本有4個屬性描述,species代表著這150個樣本的分類.
data = [meas(:,1), meas(:,2)];
%在這裡只取meas的第一列和第二列,即只選取前兩個屬性.
groups = ismember(species,'setosa');
%由於species分類中是有三個分類:setosa,versicolor,virginica,為了使問題簡單,我們將其變為二分類問題:Setosa and non-Setosa.
[train, test] = crossvalind('holdOut',groups);
cp = classperf(groups);
%隨機選擇訓練集合測試集[有關crossvalind的使用請自己help一下]
%其中cp作用是後來用來評價分類器的.
svmStruct = svmtrain(data(train,:),groups(train),'showplot',true);
%使用svmtrain進行訓練,得到訓練後的結構svmStruct,在預測時使用.
classes = svmclassify(svmStruct,data(test,:),'showplot',true);