从10M样本中查找最接近向量的有效方法

问题描述

我有一个数据库,其中包含100万个矢量的10000万:

X1 = [x1_1,...,x1_100]
X2 = [x2_1,x2_100]
...
X1000000 = [x1000000_1,x1000000_100]

我有输入向量Y:

Y = [y1,y100]

从欧几里得距离的意义上找到最接近向量Xi的最有效方法是什么?

解决方法

尝试

def find_CD(X,y):
  return ​return​ spatial.distance.euclidean(X,y)

主要

listt=[]
vic=[x1,x2,.....,X1000000]
for i in range(len(vic)):
 listt.append(find_CD(vic[i],y)

并找到最小值索引

listt.index(min(listt))