📄 k_nn.m
字号:
function class = k_nn(query,ref_vect,ref_label,k)
% ---------------------------------------
% query : query point
% ref_vect : reference vectors
% ref_label : labels of reference vectors
% k : k-nearest
% class : matched class
% ---------------------------------------
[ref_num,dim] = size(ref_vect);
class_num = max(ref_label);
% Calculate Eculid distances
for i=1:ref_num
dis(i) = norm(ref_vect(i,:)-query);
end
% Sort reference vectors in nearest order
[tmp,index] = sort(dis);
% Extract first k nearest labels
if k > length(index)
k = length(index);
end
label = ref_label(index(1:k));
% Count labels
class_cnt = zeros(1,class_num);
for i=1:k
class_cnt(label(i)) = class_cnt(label(i))+1;
end
% Return class label with maximum counts
[hit,class] = max(class_cnt);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -