⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 k_nn.m

📁 matlab 源码 KNN classification
💻 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 + -