我在预测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。任何帮助都会感激不尽!
答案 0 :(得分:1)
因此,您设法根据nearst
中的距离设置了排序索引,您所要做的就是引用原始数据的标签。所以你有一个变量labels
,它为每个点保存一个真正的标签。使用存储在nearst
中的索引来读取它们,并简单地报告最常见的值。