nearest_neighbor.m
来自「这是一些关于模式识别工具箱的源代码,和模式识别第二版配套使用」· M 代码 · 共 32 行
M
32 行
function test_targets = Nearest_Neighbor(train_patterns, train_targets, test_patterns, Knn)
% Classify using the Nearest neighbor algorithm
% Inputs:
% train_patterns - Train patterns
% train_targets - Train targets
% test_patterns - Test patterns
% Knn - Number of nearest neighbors
%
% Outputs
% test_targets - Predicted targets
L = length(train_targets);
Uc = unique(train_targets);
if (L < Knn),
error('You specified more neighbors than there are points.')
end
N = size(test_patterns, 2);
test_targets = zeros(1,N);
for i = 1:N,
dist = sum((train_patterns - test_patterns(:,i)*ones(1,L)).^2);
[m, indices] = sort(dist);
n = hist(train_targets(indices(1:Knn)), Uc);
[m, best] = max(n);
test_targets(i) = Uc(best);
end
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?