clc;
clear;
load('musk.mat');
% load('musk.mat');
% data = musk;
lablel_musk =data(:,1);
testdata = data(:,2:18);
testlabel =data(:,1);
dataMat = data(1:2000,1:100);
labels = lablel_musk(1:1000,1);
type=1;
k = 5 ;
arrtest = [] ;
accrancy = [];
%测试
lastlen = 1;
for j =1:10
error = 0;
len = j*1000;
for i = 1:len
classifyrsult = KNN3(testdata(i,:),dataMat(1:len,:),labels(1:len,:),k,type);
[classifyresult labels(i)]
if(classifyrsult~=testlabel(i))
error = error+1;
end
end
lastlen =len;
fprintf('准确率:%\n',1-(error/len))
fprintf('错误个数:%\n',error)
arrtest = [arrtest j];
accrancy = [accrancy 1 -(error/len)];
end
fprintf('平均准确率:%d',mean(accrancy));
polt(arrtest * 10,accrancy,'-b*');
xlabel('测试记取值百分比');
ylabel('准确率');
title('交叉验证')
出错 jcyz (第 21 行)
classifyrsult =
KNN3(testdata(i,:),dataMat(1:len,:),labels(1:len,:),k,type);