2016-10-31 40 views
0

在不使用内置函数的情况下预测KNN分类器时遇到了一些麻烦。我被困在这里,不知道如何去下一步。这里是我的代码:如何在不使用内置函数的情况下预测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。任何帮助将感恩!

回答

1

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

+0

谢谢!我将尝试弄清楚如何在MATLAB上实现它。 – BigD

相关问题