问题标签 [nearest-neighbor]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4256 浏览

r - 在两组日期点之间找到最近邻

我有 2 组点,set1并且set2. 两组点都有与该点相关的数据。set1 中的点是“短暂的”,仅在给定日期存在。set2 中的点是“永久的”,在给定日期构造,然后在该日期之后永远存在。

这是我的问题:对于 set1(临时)中的每个点,找到在 set1 发生之前构建的 set2(永久)中最近点的距离。例如,set1 中的第一个点发生在 2011-03-18:

所以我想找到 set2 中在 2011-03-18 之前构建的最近点:

额外的皱纹是这些是纬度/经度点,所以我必须计算沿地球表面的距离。R 包字段提供了一个方便的函数来执行此操作:

Inf我的问题是,如果 set2 中的点(距离矩阵的列)是在 set1 中的点(距离矩阵的行)之后构造的,我该如何调整这个矩阵中的距离?

0 投票
4 回答
5855 浏览

python - Nearest Neighbor Search in Python without k-d tree

I'm beginning to learn Python coming from a C++ background. What I am looking for is a quick and easy way to find the closest (nearest neighbor) of some multidimensional query point in an 2D (numpy) array of multidimensional points (also numpy arrays). I know that scipy has a k-d tree, but I don't think this is what I want. First of all, I will be changing the values of the multidimensional points in the 2D array. Secondly, the position (coordinates) of each point in the 2D array matters as I will also be changing their neighbors.

I could write a function that goes through the 2D array and measures the distance between the query point and the points in the array while keeping track of the smallest one (using a scipy spatial distance function to measure distance). Is there is a built in function that does this? I am trying to avoid iterating over arrays in python as much as possible. I will also have numerous query points so there would be at least two "for loops" - one to iterate through the query points and for each query, a loop to iterate through the 2D array and find the minimum distance.

Thanks for any advice.

0 投票
2 回答
1318 浏览

android - Android:如何在给定方向上找到最近的邻居(视图元素)

我正在寻找一种在应用程序中导航的方法,使用虚拟 dpad 抛出所有元素。但是如何在上下左右的方向上找到最近的邻居?例如,我收到了要关闭的事件,现在我想将焦点设置在下面的按钮上。

我不想像这样在 xml 文件中使用定义:

我怎样才能做到这一点?

谢谢。

0 投票
1 回答
2979 浏览

r - 如何为空间数据帧生成 k 最近邻矩阵?

我有一个大约 3000 个点的空间数据框。我想生成一个矩阵,为每个点提供 k 个(在本例中为 30 个)最近邻。

我可以使用循环来做到这一点,但我觉得应该有一种我不知道的空间点数据框类的优雅和最佳方式。

0 投票
5 回答
10641 浏览

matlab - 如何在一组点中找到一个点的第k个最近邻

我在二维平面上有一组点 (x,y)。给定一个点 (x0,y0) 和数字 k,如何在点集中找到 (x0,x0) 的第 k 个最近邻。具体来说,点集由两个数组表示:x 和 y。点 (x0,y0) 由索引 i0 给出。这意味着 x0=x(i0) 和 y0=y(i0)。

Matlab中是否有任何功能或东西可以帮助我解决这个问题。如果Matlab没有这种功能,您能否提出其他有效的方法。

编辑:我必须为集合中的每个点 (x0,y0) 计算这种距离。集合的大小约为 1000。k 的值应约为 sqrt(1500)。最糟糕的是,我这样做了很多次。在每次迭代中,集合都会发生变化,我会再次计算距离。因此,运行时间是一个关键问题。

0 投票
2 回答
252 浏览

algorithm - 非相交椭圆的最近三个邻居

我正在解决一个问题,即为一组任意放置的非相交椭圆找到最近的三个邻居。作为一个新用户,我不允许包含图像标签,但我在页面底部包含了 URL,因为我一直认为我能够更好地使用视觉辅助工具来解释自己。这张图片展示了我所说的将 3 个最近的椭圆彼此连接起来的阿波罗尼奥斯圆。

到目前为止,我已经尝试使用椭圆之间的最小距离并修改 Delaunay 三角剖分,通过增量和扫描线方法,使用各种技术涉及在每 3 个椭圆配置之间形成的三角形圈等,并尝试使用边界框估计邻居,以及完全没有关于如何真正有效地工作的想法

虽然我已经制定了一个解决方案,但它涉及详尽搜索并比较每个椭圆的三个椭圆与其他椭圆,并且时间复杂度为n(n-1)(n-2)/3!. 最重要的是,每个计算都是迭代而不是代数完成的。

有没有人知道如何以代数方式完成这个并且n^2时间复杂度更低?

即使是关于一种技术的建议也适合我尝试,因为现在我已经在这方面工作了将近 3 周,而且真的离一个体面的答案还差得远。

图片

0 投票
2 回答
2912 浏览

mysql - K-Nearest Neighbors 和 MySql 地理索引

我在 mySql 数据库中有一组地理标记的图片。您可以将 my Pictures 表视为:

我打算根据图片的位置执行 K-Nearest Neighbor 算法。比如说,如果K=10,则选择地理上距离用户位置最近的10张图片。

我很欣赏你的建议。

0 投票
1 回答
412 浏览

mysql - mysql最近邻搜索

我对 GIS 有点陌生,我想在我的 DB (mySQL) 中搜索 k 最近邻居。据我了解,选项是:1)使用 Haverstine 公式 - 但它将在整个数据库上运行,我知道我可以向 lat 和 long 添加索引以改进事情.. 2)使用此处描述的扩展区域:http ://blogs.msdn.com/b/isaac/archive/2008/10/23/nearest-neighbors.aspx 3) 使用此处描述的边界框:http ://code.google.com/intl/iw-IL /appengine/articles/geosearch.html 4) 使用点和 MBRContains 函数,如下所述: Fastest Way to Find Distance Between Two Lat/Long Points

我想知道每种方式的优缺点是什么,哪一种(或组合)最适合获得快速且准确的结果。另外,我应该使用点和多边形还是只使用纬度/经度?我知道这个话题已经在这里讨论过不止一次,但我仍然不确定答案是什么。TNX

0 投票
1 回答
1285 浏览

machine-learning - kNN 和动态时间规整的 WEKA 截止值

我使用动态时间规整 (DTW) 作为 K 最近邻 (kNN) 机器学习算法的距离度量。在WEKA中,如果当前正在计算的距离大于之前的距离,kNN 算法将截断值作为提前放弃。

我的问题是我不确定如何在不进行所有计算的情况下使用 DTW 实现这种早期放弃。我怎么能确定最终距离会大于截止距离?

0 投票
0 回答
159 浏览

javascript - 如何在javascript中找到与其最近邻居的最大距离的点

我有一个矩形区域,其中随机位置上有许多点。现在我想在离它最近的邻居最远的位置放置一个新点。此处给出了使用 SQL(和多边形)解决问题的方法:http: //alastaira.wordpress.com/2012/03/11/point-of-maximal-distance-queries-aka-variations-on-a -最近邻的主题/

但是我怎么能在javascript中做到这一点?