最近的对查找数据集中最近的点对
closest-pairs的Python项目详细描述
最近对:三角尺:
在数组中查找最近的对。
开始
pip install closest_pairs
或从源安装:
git clone https://github.com/justinshenk/closest-pairs
cd closest_pairs
pip install .
如何使用
importclosest_pairs# X is an n x m numpy arraypairs,distances=closest_pairs.solve(X,n=1)
可以指定要用n
标识的对数。
示例
importclosest_pairsimportnumpyasnpimportmatplotlib.pyplotasplt# Create datasetX=np.random.random((100,2))pairs,distance=closest_pairs.solve(X,n=1)# Plot pointsz,y=np.split(X,2,axis=1)fig,ax=plt.subplots()ax.scatter(z,y)fori,txtinenumerate(X):ifiinpairs:ax.annotate(i,(z[i],y[i]),color='red')else:ax.annotate(i,(z[i],y[i]))
检查对:
In [10]: pairs Out[10]: array([[[ 7], [16]], [[96], [50]]])
输出:
注意事项
closest_pairs
将使用pca将数据的维数减少到二维,以便更快地处理。
如果n
>;1,它还会删除一对中的第一个点。在极少数情况下,如果数据高度重叠,则会导致假阴性。
信用和解释
python代码由Andriy Lazorenko修改,打包后可用于justin shenk的>;2特性。