代码及数据下载地址:https://download.csdn.net/download/weixin_37928884/87239775
clear;clc;close all;
% 多点分类预测
X=load('datingTestSet2.txt');
ratio=0.1;%测试数据所占比例
[N,M]=size(X);
K=4;
trainData=X(:,1:3);
trainClass=X(:,4);
num_test=N*ratio;
% KNN分类归一化处理仅对训练数据归一化即可
% newData=(oldData-minValue)/(maxValue-minValue);
minValue=min(trainData);
maxValue=max(trainData);
trainData=(trainData-repmat(minValue,N,1))./(repmat(maxValue-minValue,N,1));
error=0;
for i=1:num_test
idx=FUNKNN(trainData(num_test+1:N,:),trainClass(num_test+1:N,:),trainData(i,:),K);
fprintf('该测试数据的真实类为:%d\n',trainClass(i,:));
if idx~=trainClass(i,:);
error=error+1;
end
end
fprintf('准确率为:%f\n',1-error/num_test);