我正在构建一个k近邻分类器,我希望一次完成所有的距离计算(这也会有所帮助,因为未矢量化的版本需要很长时间才能运行)。
我有一个28000个样本x 784个特征的测试数据集,我有一个42000个样本x 784个特征的训练数据集。回答我的问题的代码应该得到一个大小为28000 x 42000的矩阵,其中每行包含从该测试示例到42000个训练示例中的每个示例的距离。
我想到的最好的方法是使用sum和bsxfun来一次计算每个测试示例的所有距离,但我仍然需要循环遍历所有28000个示例,正如我之前所说的,这需要一些时间。
pdist2(A, B)
将完全满足您的需求,其中A
和B
分别是您的训练和测试数据集。参考资料如下:http://www.mathworks.com/help/stats/pdist2.html