如何在不使用内置函数的情况下预测 KNN 分类器

How to predict KNN classifier without using built-in function

我在不使用内置函数的情况下预测 KNN 分类器时遇到了一些问题。我被困在这里,不知道如何进行下一步。这是我的代码:

 % calculate Euclidean distance
 dist = pdist2(test, train, 'euclidean');
 for k = [1 3 5 7]
    [~, nearest] = sort(dist, 2);
    nearst = nearest(:, 1:k);
end % for loop

其中test为297x64矩阵,train为1500x64矩阵。 dist 矩阵是 297x1500。任何帮助将不胜感激!

因此您设法在 nearst 中根据距离获得排序索引,您所要做的就是参考原始数据的 标签 。所以你在某个地方有一个变量 labels ,它为每个点保存一个真实的标签。使用存储在 nearst 中的索引来读取它们并简单地报告最常见的值。