gusucode.com > 精通Matlab数字图像处理与识别源码程序 > 精通Matlab数字图像处理与识别源码程序/chapter15/code/ex15_2.m
load fisheriris % 载入fisheriris数据集 data = [meas(:,1), meas(:,2)]; % 取出所有样本的前2维作为特征 % 转化为“是不是setosa类”的2类问题 groups = ismember(species,'setosa'); % 利用交叉验证随机分割数据集 [train, test] = crossvalind('holdOut',groups); % 训练一个线性的支持向量机,训练好的分类器保存在svmStruct svmStruct = svmtrain(data(train,:),groups(train),'showplot',true); % 利用包含训练所得分类器信息的svmStruct对测试样本进行分类,分类结果保存到classes classes = svmclassify(svmStruct,data(test,:),'showplot',true); % 计算测试样本的识别率 nCorrect = sum( classes == groups(test,:) ); % 正确分类的样本数目 accuracy = nCorrect / length(classes) % 计算正确率