Python中文
首页
教程
问答
标签
搜索
登录
注册
KD树与暴力方法产生不同的结果
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我有一个1000个随机三维点的数组,我对离任何给定点最近的10个点感兴趣。<a href="https://stackoverflow.com/questions/2486093/millions-of-3d-points-how-to-find-the-10-of-them-closest-to-a-given-point">In essence the same as this post.</a></p> <p>我检查了J.F.Sebastian提供的两种解决方案,即蛮力方法和KD树方法。在</p> <p>虽然两种方法给出的最接近点的指数相同,但它们给出的距离结果却不同</p> <pre><code>import numpy as np from scipy.spatial import KDTree a = 100 * np.random.rand(1000,3) point = a[np.random.randint(0, 1001)] # point chosen at random # KD Tree tree = KDTree(a, leafsize=a.shape[0]+1) dist_kd, ndx_kd = tree.query([point], k=10) # Brute force distances = ((a-point)**2).sum(axis=1) # compute distances ndx = distances.argsort() # indirect sort ndx_brt = ndx[:10] dist_brt = distances[ndx[:10]] # Output print 'KD Tree:' print ndx_kd print dist_kd print print 'Brute force:' print ndx_brt print dist_brt </code></pre> <p>我的输出</p> <blockquote> <p>KD Tree: [[838 860 595 684 554 396 793 197 652 330]] [[ 0. 3.00931208 8.30596471 9.47709122 10.98784209 11.39555636 11.89088764 12.01566931 12.551557 12.77700426]]</p> <p>Brute force: [838 860 595 684 554 396 793 197 652 330]<br/> [ 0. 9.05595922 68.9890498 89.81525793 120.73267386 129.8587047 141.3932089 144.37630888 157.54158301 163.25183793]</p> </blockquote> <p>那么这里的问题是什么?我算错了距离吗?在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>距离=((a点)**2).和(轴=1)**0.5<a href="https://i.stack.imgur.com/3idkJ.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/3idkJ.png" alt="enter image description here"/></a></p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
为什么我的神经网络模型的准确性不能在这个训练集上得到提高?
4 回答
为什么我的神经网络模型的权重变化不大?
3 回答
为什么我的神经网络的成本不断增加?
8 回答
为什么我的神经网络的输入pickle文件是19GB?
9 回答
为什么我的神经网络给属性错误?“非类型”对象没有属性“形状”
9 回答
为什么我的神经网络训练这么慢?
8 回答
为什么我的神经网络输出错误?
10 回答
为什么我的神经网络预测适用于MNIST手绘图像时是正确的,而适用于我自己的手绘图像时是不正确的?
4 回答
为什么我的神经网络验证精度比我的训练精度高,而且它们都是常数?
6 回答
为什么我的私人用户间聊天会显示在其他用户的聊天档案中?
6 回答
为什么我的积分的绝对误差估计值大于积分(使用scipy.integrate.nqad)?
1 回答
为什么我的积层回归器得分比它的组件差?
3 回答
为什么我的移动方法不起作用?
1 回答
为什么我的稀疏张量不能转换成张量
1 回答
为什么我的稀疏张量不能转换成张量?
2 回答
为什么我的程序“停止”了?
4 回答
为什么我的程序一直试图占用所有可用的CPU
10 回答
为什么我的程序不使用指定的代理
6 回答
为什么我的程序不工作(python帮助中的反向函数)?
4 回答
为什么我的程序不工作时,我使用多处理模块
10 回答