📄 fcmknn.m
字号:
% clear;
% ref_vect = [1 2 3 4 5; -1 0 -3 2 5] % reference vectors
% ref_label = [1 2 1 2 2] % labels of reference vectors
% query = [0 0]' % query point
% k = 3 % k-nearest
% return value : class label
function [rate, computed]=fcmknn(trdata, c, k, tedata)
%
% c prototype number
% k parameter of knn
%
[num,dim]=size(trdata);
ref_vect = [];
ref_label = [];
% for j=1:max(trdata(:,dim))
%
% [center,U,obj_fcn] = fcm(trdata(find(trdata(:,dim)==j),1:dim-1),c);
% ref_vect =[ref_vect; center];
% ref_label = [ref_label ones(1,c)*j];
%
% end
ref_vect = trdata(:,1:dim-1);
ref_label= trdata(:,dim);
[tnum,dim] = size(tedata);
computed =[];
ret=0;
for j=1:tnum
query =tedata(j,1:dim-1);
class = k_nn(query,ref_vect,ref_label,k);
computed = [computed; class];
if class==tedata(j,dim)
ret=ret+1;
end
end
rate=ret/tnum;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -