k是多线程程序中最近的邻居

时间:2017-03-15 23:49:10

标签: c++ multithreading knn

给出训练集和测试点T,需要进行分类。 如果我将训练集分成n个部分,则在每个部分上运行knn算法(k = 1)。之后,我比较了每个部分的结果。它会给我相同的结果,就像我在整个训练集中运行1-nn一样吗? 例如: n = 4.将训练集分为4个部分 在训练集的4个部分上运行1-nn算法后,我得到了第1部分的A点,部分2的B点,第3部分的C和第4部分的D.之后,我可以比较距离T到A,B,C和D来确定哪个T类属于哪个?

1 个答案:

答案 0 :(得分:0)

我希望我理解这个问题......

如果你想仅考虑最近的点(1-nn)进行分类,那就没问题了。

但是,要执行 k -nn分类,考虑到每个 k 组的最近点与考虑<< em> k 最近点,除非它们恰好位于不同的组中。您应该至少为每个 n 组保留 k 点,然后在 n * k <中选择最近的 k 点/ em>已选中。