提前感谢您的帮助。
我有两个RDD,一个是训练集,另一个是测试集。我想找到两组中每个点之间的成对距离,这样我就可以执行一个knn分类器。对于测试集中的每个元素,我希望按距离按升序将100个最接近的训练点的有序列表保存到磁盘。例如,给定一个测试元素,我希望有一个类似于以下
的列表[0, 0, 0, 1, 1, 0, 1, ..., 1]
其中0索引元素是测试设定点的100个值的最接近样本(元素本身是样本的实际类)。然后,我计划使用这些列表来优化k的值。作为一项额外要求,我还希望了解不同的远程指标。
在我上面概述的情况下,通过对整个数据集进行采样来创建训练和测试集。我想使用我将使用上述方法找到的最佳值来选择要用于我所有数据的knn参数。
由于我拥有的数据量和我有限的内存量,我不能使用内置笛卡尔积法的火花来简化我的问题。什么可能是最好的方式来完成这项任务?